AI Slop Code RIsk Monitor

apache/superset

Apache Superset is a Data Visualization and Data Exploration Platform

15.4 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for apache/superset, a Python project with 75,100 GitHub stars. SynthScan examined 1,880,806 lines of code across 8442 source files, recording 26187 pattern matches distributed across 26 syntactic categories. The legacy adjusted pattern signal is 15.4 (Elevated 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.

15.4
Adjusted Signal
15.4
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
75.1K
Stars
Python
Language
1.9M
Lines of Code
8.4K
Files
26.2K
Pattern Hits
2026-10-12
Scan Date
0.07
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 40.9/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 6.0/100 · LOW

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

Agent Over-Engineering Ratio 44.0/100 · MEDIUM

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

PR Review Velocity Impact 56.9/100 · HIGH

Which changes need focused human review? 26187 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 10HIGH 600MEDIUM 1188LOW 24389

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 26187 distinct pattern matches across 26 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 Identifiers17474 hits · 14952 pts
SeverityFileLineSnippetContext
LOWsuperset-core/tests/semantic_layers/test_errors.py31def test_incomplete_error_carries_closed_reason(CODE
LOWsuperset-core/tests/semantic_layers/test_errors.py39def test_incomplete_error_rejects_unknown_reason() -> None:CODE
LOWsuperset-core/tests/semantic_layers/test_errors.py56def test_incomplete_error_survives_serialization(CODE
LOWsuperset-core/tests/semantic_layers/test_types.py22def test_dimension_metadata_is_not_part_of_identity() -> None:CODE
LOWsuperset-core/tests/semantic_layers/test_types.py42def test_metric_metadata_is_not_part_of_identity() -> None:CODE
LOWsuperset-core/tests/semantic_layers/test_types.py66def test_metric_accepts_superset_presentation_fields() -> None:CODE
LOWsuperset-core/tests/semantic_layers/test_types.py80def test_dimension_accepts_superset_presentation_fields() -> None:CODE
LOWsuperset-core/tests/semantic_layers/test_types.py91def test_metadata_defaults_are_not_shared() -> None:CODE
LOW…erset-core/src/superset_core/semantic_layers/config.py25def build_configuration_schema(CODE
LOWsuperset-core/src/superset_core/semantic_layers/daos.py67 def validate_update_uniqueness(cls, layer_uuid: str, name: str) -> bool:CODE
LOWsuperset-core/src/superset_core/semantic_layers/daos.py137 def validate_update_uniqueness(CODE
LOWsuperset-core/src/superset_core/semantic_layers/view.py58 def validate_selection_version(self, version: object) -> None:CODE
LOWsuperset-core/src/superset_core/semantic_layers/view.py151 def get_compatible_dimensions(CODE
LOW…perset-core/src/superset_core/semantic_layers/layer.py43 def supports_metadata_refresh(cls, configuration: dict[str, Any]) -> bool:CODE
LOWtests/conftest.py79def pandas_loader_configuration(CODE
LOWtests/unit_tests/conftest.py86def _preload_clock_reading_drivers() -> None:CODE
LOWtests/unit_tests/conftest.py235 def test_your_feature_enabled(self):STRING
LOWtests/unit_tests/conftest.py239 def test_your_feature_disabled(self):STRING
LOWtests/unit_tests/test_realtime_publish.py31def test_channel_resolves_callable_once() -> None:CODE
LOWtests/unit_tests/test_realtime_publish.py67def test_no_backend_needs_no_app_context() -> None:CODE
LOWtests/unit_tests/test_realtime_publish.py80def test_task_manager_shares_resolved_channel() -> None:CODE
LOWtests/unit_tests/test_realtime_publish.py100def test_channel_resolves_callable_once_under_concurrency() -> None:CODE
LOWtests/unit_tests/core_tests.py65def test_get_metric_name_saved_metric():CODE
LOWtests/unit_tests/core_tests.py70def test_get_metric_name_adhoc():CODE
LOWtests/unit_tests/core_tests.py93def test_get_metric_name_invalid_metric():CODE
LOWtests/unit_tests/core_tests.py135def test_get_column_name_physical_column():CODE
LOWtests/unit_tests/core_tests.py140def test_get_column_name_adhoc():CODE
LOWtests/unit_tests/core_tests.py164def test_get_column_name_invalid_metric():CODE
LOW⚡tests/unit_tests/core_tests.py178def test_get_time_filter_status_time_col():CODE
LOW⚡tests/unit_tests/core_tests.py186def test_get_time_filter_status_time_range():CODE
LOW⚡tests/unit_tests/core_tests.py194def test_get_time_filter_status_time_grain():CODE
LOW⚡tests/unit_tests/core_tests.py202def test_get_time_filter_status_no_temporal_col():CODE
LOWtests/unit_tests/core_tests.py243def test_split_adhoc_filters_joins_sql_expressions():CODE
LOWtests/unit_tests/core_tests.py264def test_split_adhoc_filters_preserves_jinja_templates():CODE
LOWtests/unit_tests/core_tests.py280def test_split_adhoc_filters_terminates_inline_comments():CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py29def restore_schema_init_fields():CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py41 def test_patch_marshmallow_for_flask_appbuilder_applies_patch(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py52 def test_patch_functionality_with_real_schema_creation(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py66 def test_patch_handles_schema_with_no_fields(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py76 def test_patch_pre_stubs_missing_fab_fields_before_initialization(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py101 def test_raw_field_creation_and_configuration(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py110 def test_schema_declared_fields_manipulation(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py133 def test_flask_appbuilder_field_names_list(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py151 def test_patch_function_is_callable(self):CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py161 def test_marshmallow_schema_basic_functionality(self):CODE
LOWtests/unit_tests/test_mcp_simple_proxy.py26def test_simple_proxy_builds_and_runs() -> None:CODE
LOW⚡tests/unit_tests/jinja_context_test.py123def test_filter_values_default() -> None:CODE
LOW⚡tests/unit_tests/jinja_context_test.py132def test_filter_values_remove_not_present() -> None:CODE
LOW⚡tests/unit_tests/jinja_context_test.py141def test_filter_values_no_default() -> None:CODE
LOW⚡tests/unit_tests/jinja_context_test.py149def test_get_filters_adhoc_filters() -> None:CODE
LOW⚡tests/unit_tests/jinja_context_test.py646def test_url_param_escaped_request_args() -> None:CODE
LOW⚡tests/unit_tests/jinja_context_test.py656def test_url_param_unescaped_request_args() -> None:CODE
LOW⚡tests/unit_tests/jinja_context_test.py665def test_url_param_postgres_backslash_preserved() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py60def test_filter_values_adhoc_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py107def test_filter_values_extra_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py226def test_get_filters_is_null_operator() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py256def test_get_filters_remove_not_present() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py265def test_get_filters_query_context_filters() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py281def test_get_filters_query_context_filters_remove_filter() -> None:CODE
LOWtests/unit_tests/jinja_context_test.py296def test_get_filters_query_context_filters_is_null() -> None:CODE
17414 more matches not shown…
Decorative Section Separators919 hits · 3451 pts
SeverityFileLineSnippetContext
MEDIUM⚡docker-compose-image-tag.yml18# -----------------------------------------------------------------------COMMENT
MEDIUM⚡docker-compose-image-tag.yml26# -----------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml89 # --------------------------COMMENT
MEDIUMpyproject.toml93 # --------------------------COMMENT
MEDIUMpyproject.toml593# --------------------------------------------------------------COMMENT
MEDIUMpyproject.toml599# --------------------------------------------------------------COMMENT
MEDIUM⚡docker-compose-non-dev.yml18# -----------------------------------------------------------------------COMMENT
MEDIUM⚡docker-compose-non-dev.yml26# -----------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-light.yml18# -----------------------------------------------------------------------COMMENT
MEDIUMdocker-compose-light.yml61# -----------------------------------------------------------------------COMMENT
MEDIUM⚡docker-compose.yml18# -----------------------------------------------------------------------COMMENT
MEDIUM⚡docker-compose.yml26# -----------------------------------------------------------------------COMMENT
MEDIUMdocker/docker-entrypoint-initdb.d/examples-init.sh20# ------------------------------------------------------------------------COMMENT
MEDIUMdocker/docker-entrypoint-initdb.d/examples-init.sh23# ------------------------------------------------------------------------COMMENT
MEDIUMsuperset-core/src/superset_core/extensions/types.py87# =============================================================================COMMENT
MEDIUMsuperset-core/src/superset_core/extensions/types.py89# =============================================================================COMMENT
MEDIUMsuperset-core/src/superset_core/extensions/types.py114# =============================================================================COMMENT
MEDIUMsuperset-core/src/superset_core/extensions/types.py116# =============================================================================COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py64# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py66# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py104# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py106# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py140# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py142# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py182# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py184# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py219# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py221# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py253# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/test_sqllab_error_stacktrace.py255# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py47# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/test_sqllab_error_stacktrace.py49# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py477# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py484# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py619# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py621# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py653# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py655# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py729# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py731# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py813# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡…s/unit_tests/middleware/test_legacy_prefix_redirect.py815# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py51# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py53# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py115# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py117# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py238# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py249# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py758# ---------------------------------------------------------------------------COMMENT
MEDIUM…s/unit_tests/middleware/test_legacy_prefix_redirect.py760# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/tasks/test_thumbnails.py48# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit_tests/tasks/test_thumbnails.py50# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/tasks/test_thumbnails.py68# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/tasks/test_thumbnails.py70# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit_tests/tasks/test_timeout.py114# =============================================================================COMMENT
MEDIUM⚡tests/unit_tests/tasks/test_timeout.py116# =============================================================================COMMENT
MEDIUM⚡tests/unit_tests/tasks/test_timeout.py197# =============================================================================COMMENT
MEDIUM⚡tests/unit_tests/tasks/test_timeout.py199# =============================================================================COMMENT
MEDIUM⚡tests/unit_tests/tasks/test_timeout.py460# =============================================================================COMMENT
MEDIUM⚡tests/unit_tests/tasks/test_timeout.py462# =============================================================================COMMENT
859 more matches not shown…
Over-Commented Block3263 hits · 3002 pts
SeverityFileLineSnippetContext
LOW.asf.yaml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker-compose-image-tag.yml1#COMMENT
LOWpytest.ini1#COMMENT
LOW.pre-commit-config.yaml1#COMMENT
LOW.fossa.yml1#COMMENT
LOWpyproject.toml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWpyproject.toml141 # was archived 2026-05-16. Both 1.17.0 and 1.17.1 support SQLAlchemy 1.4/2.0.COMMENT
LOWpyproject.toml181# SQLAlchemy ~1.4.7 upstream, no SQLAlchemy 2.0 work. SeeCOMMENT
LOW.grype.yaml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW.grype.yaml21# The image bundles this project's own dev build as the "apache-superset"COMMENT
LOWlintconf.yaml1#COMMENT
LOWsetup.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker-compose-non-dev.yml1#COMMENT
LOWdocker-compose-light.yml1#COMMENT
LOWdocker-compose-light.yml21#COMMENT
LOWdocker-compose-light.yml41#COMMENT
LOWdocker-compose.yml1#COMMENT
LOWdocker-compose.yml141 depends_on:COMMENT
LOWsuperset_text.yml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset_text.yml21# DB_IMAGES:COMMENT
LOWdocker/frontend-mem-nag.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/tag_latest_release.sh1#! /bin/bashCOMMENT
LOWdocker/docker-bootstrap.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-healthcheck.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/apt-install.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-pytest-entrypoint.sh1#!/bin/bashCOMMENT
LOWdocker/pip-install.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-init.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/docker-frontend.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/pythonpath_dev/superset_config_docker_light.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker/pythonpath_dev/superset_config_docker_light.py61 # just turn it off.COMMENT
LOWdocker/pythonpath_dev/superset_config.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker/pythonpath_dev/superset_test_config_light.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWdocker/docker-entrypoint-initdb.d/examples-init.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/entrypoints/run-server.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/entrypoints/run-websocket.sh1#!/usr/bin/env bashCOMMENT
LOWdocker/entrypoints/run-websocket.sh21# official image. Run it with:COMMENT
LOWdocker/entrypoints/docker-ci.sh1#!/usr/bin/env bashCOMMENT
LOWsuperset-core/pyproject.toml1COMMENT
LOWsuperset-core/tests/semantic_layers/test_errors.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/tests/semantic_layers/test_types.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/subscription.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/daos.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/types.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/tasks/decorators.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…erset-core/src/superset_core/semantic_layers/config.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…set-core/src/superset_core/semantic_layers/metadata.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…erset-core/src/superset_core/semantic_layers/models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/semantic_layers/daos.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…set-core/src/superset_core/semantic_layers/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…perset-core/src/superset_core/semantic_layers/types.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/semantic_layers/view.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…perset-core/src/superset_core/semantic_layers/layer.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…erset-core/src/superset_core/semantic_layers/errors.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…t-core/src/superset_core/semantic_layers/decorators.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/queries/models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWsuperset-core/src/superset_core/queries/query.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
3203 more matches not shown…
Cross-File Repetition352 hits · 1760 pts
SeverityFileLineSnippetContext
HIGHsuperset-core/src/superset_core/tasks/daos.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHsuperset-core/src/superset_core/queries/models.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHsuperset-core/src/superset_core/queries/daos.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHsuperset-core/src/superset_core/common/models.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHsuperset-core/src/superset_core/common/daos.py0abstract keyvalue model interface. host implementations will replace this class during initialization with concrete implSTRING
HIGHtests/unit_tests/pandas_postprocessing/test_cum.py0count_metric sum_metric country uk us uk us dttm 2019-01-01 1 2 5 6 2019-01-02 3 4 7 8STRING
HIGHtests/unit_tests/pandas_postprocessing/test_rolling.py0count_metric sum_metric country uk us uk us dttm 2019-01-01 1 2 5 6 2019-01-02 3 4 7 8STRING
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py0count_metric sum_metric country uk us uk us dttm 2019-01-01 1 2 5 6 2019-01-02 3 4 7 8STRING
HIGH…it_tests/datasets/commands/importers/v1/import_test.py0non-overwrite re-import of a soft-deleted uuid is implicitly a restore-and-update: the user is bringing the dashboard baSTRING
HIGH…unit_tests/charts/commands/importers/v1/import_test.py0non-overwrite re-import of a soft-deleted uuid is implicitly a restore-and-update: the user is bringing the dashboard baSTRING
HIGH…_tests/dashboards/commands/importers/v1/import_test.py0non-overwrite re-import of a soft-deleted uuid is implicitly a restore-and-update: the user is bringing the dashboard baSTRING
HIGH…it_tests/datasets/commands/importers/v1/import_test.py0non-overwrite re-import that would resurrect a soft-deleted dashboard must respect editorship: a non-editor without admiSTRING
HIGH…unit_tests/charts/commands/importers/v1/import_test.py0non-overwrite re-import that would resurrect a soft-deleted dashboard must respect editorship: a non-editor without admiSTRING
HIGH…_tests/dashboards/commands/importers/v1/import_test.py0non-overwrite re-import that would resurrect a soft-deleted dashboard must respect editorship: a non-editor without admiSTRING
HIGH…it_tests/datasets/commands/importers/v1/import_test.py0an *active* (not soft-deleted) dashboard re-imported with overwrite=true by a caller without can_write must fall throughSTRING
HIGH…unit_tests/charts/commands/importers/v1/import_test.py0an *active* (not soft-deleted) dashboard re-imported with overwrite=true by a caller without can_write must fall throughSTRING
HIGH…_tests/dashboards/commands/importers/v1/import_test.py0an *active* (not soft-deleted) dashboard re-imported with overwrite=true by a caller without can_write must fall throughSTRING
HIGH…sts/unit_tests/mcp_service/test_dashboard_scope_sql.py0let the tool worker thread use the ``session`` built by this test.STRING
HIGH…mcp_service/dataset/tool/test_update_dataset_metric.py0let the tool worker thread use the ``session`` built by this test.STRING
HIGH…_service/dataset/tool/test_dataset_metric_mutations.py0let the tool worker thread use the ``session`` built by this test.STRING
HIGH…nit_tests/mcp_service/catalog/tool/test_get_catalog.py0let the tool worker thread use the ``session`` built by this test.STRING
HIGH…_tests/mcp_service/chart/test_live_chart_datasource.py0let the tool worker thread use the ``session`` built by this test.STRING
HIGH…_service/dashboard/tool/test_get_dashboard_datasets.py0let the tool worker thread use the ``session`` built by this test.STRING
HIGHtests/unit_tests/mcp_service/rls/tool/test_rls_tools.py0schema-level pagination boundary tests — ``page`` is positiveint and ``page_size`` is constrained to (0, max_page_size].STRING
HIGH…tests/mcp_service/database/tool/test_database_tools.py0schema-level pagination boundary tests — ``page`` is positiveint and ``page_size`` is constrained to (0, max_page_size].STRING
HIGH…ts/unit_tests/mcp_service/user/tool/test_user_tools.py0schema-level pagination boundary tests — ``page`` is positiveint and ``page_size`` is constrained to (0, max_page_size].STRING
HIGHtests/unit_tests/mcp_service/tag/tool/test_tag_tools.py0schema-level pagination boundary tests — ``page`` is positiveint and ``page_size`` is constrained to (0, max_page_size].STRING
HIGHtests/unit_tests/mcp_service/rls/tool/test_rls_tools.py0page_size=0 is rejected before the tool body runs, surfacing as a structured toolerror rather than a raw 500.STRING
HIGH…tests/mcp_service/database/tool/test_database_tools.py0page_size=0 is rejected before the tool body runs, surfacing as a structured toolerror rather than a raw 500.STRING
HIGH…ts/unit_tests/mcp_service/user/tool/test_user_tools.py0page_size=0 is rejected before the tool body runs, surfacing as a structured toolerror rather than a raw 500.STRING
HIGHtests/unit_tests/mcp_service/tag/tool/test_tag_tools.py0page_size=0 is rejected before the tool body runs, surfacing as a structured toolerror rather than a raw 500.STRING
HIGHtests/unit_tests/mcp_service/rls/tool/test_rls_tools.py0a page far past the last page returns an empty list, not an error.STRING
HIGH…tests/mcp_service/database/tool/test_database_tools.py0a page far past the last page returns an empty list, not an error.STRING
HIGH…ts/unit_tests/mcp_service/user/tool/test_user_tools.py0a page far past the last page returns an empty list, not an error.STRING
HIGHtests/unit_tests/mcp_service/tag/tool/test_tag_tools.py0a page far past the last page returns an empty list, not an error.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0the public union preserves an exact error and bounds the next byte.STRING
HIGH…t_tests/mcp_service/dataset/tool/test_query_dataset.py0the public union preserves an exact error and bounds the next byte.STRING
HIGH…it_tests/mcp_service/chart/tool/test_get_chart_data.py0the public union preserves an exact error and bounds the next byte.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0a dynamically amplified command error cannot bypass the finalizer.STRING
HIGH…t_tests/mcp_service/dataset/tool/test_query_dataset.py0a dynamically amplified command error cannot bypass the finalizer.STRING
HIGH…it_tests/mcp_service/chart/tool/test_get_chart_data.py0a dynamically amplified command error cannot bypass the finalizer.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0uncaught producer failures become one finalized, fixed-schema error.STRING
HIGH…t_tests/mcp_service/dataset/tool/test_query_dataset.py0uncaught producer failures become one finalized, fixed-schema error.STRING
HIGH…it_tests/mcp_service/chart/tool/test_get_chart_data.py0uncaught producer failures become one finalized, fixed-schema error.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0unexpected inner-stage failures reach the fixed public containment layer.STRING
HIGH…t_tests/mcp_service/dataset/tool/test_query_dataset.py0unexpected inner-stage failures reach the fixed public containment layer.STRING
HIGH…it_tests/mcp_service/chart/tool/test_get_chart_data.py0unexpected inner-stage failures reach the fixed public containment layer.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0containment remains structured when its finalizer or logger fails.STRING
HIGH…t_tests/mcp_service/dataset/tool/test_query_dataset.py0containment remains structured when its finalizer or logger fails.STRING
HIGH…it_tests/mcp_service/chart/tool/test_get_chart_data.py0containment remains structured when its finalizer or logger fails.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0the public containment boundary catches exception, not baseexception.STRING
HIGH…t_tests/mcp_service/dataset/tool/test_query_dataset.py0the public containment boundary catches exception, not baseexception.STRING
HIGH…it_tests/mcp_service/chart/tool/test_get_chart_data.py0the public containment boundary catches exception, not baseexception.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0errors when neither dataset_id nor view_id is provided.STRING
HIGH…/semantic_layer/tool/test_get_compatible_dimensions.py0errors when neither dataset_id nor view_id is provided.STRING
HIGH…ice/semantic_layer/tool/test_get_compatible_metrics.py0errors when neither dataset_id nor view_id is provided.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0errors when both dataset_id and view_id are provided.STRING
HIGH…/semantic_layer/tool/test_get_compatible_dimensions.py0errors when both dataset_id and view_id are provided.STRING
HIGH…ice/semantic_layer/tool/test_get_compatible_metrics.py0errors when both dataset_id and view_id are provided.STRING
HIGH…ests/mcp_service/semantic_layer/tool/test_get_table.py0errors when the user lacks data-model metadata access.STRING
292 more matches not shown…
Unused Imports1358 hits · 1206 pts
SeverityFileLineSnippetContext
LOWdocker/pythonpath_dev/superset_config_docker_light.py25CODE
LOWdocker/pythonpath_dev/superset_config.py147CODE
LOWdocker/pythonpath_dev/superset_test_config_light.py26CODE
LOWsuperset-core/src/superset_core/tasks/models.py28CODE
LOWsuperset-core/src/superset_core/tasks/models.py37CODE
LOWsuperset-core/src/superset_core/tasks/subscription.py59CODE
LOWsuperset-core/src/superset_core/tasks/subscription.py65CODE
LOWsuperset-core/src/superset_core/tasks/types.py18CODE
LOWsuperset-core/src/superset_core/tasks/types.py27CODE
LOWsuperset-core/src/superset_core/tasks/decorators.py18CODE
LOWsuperset-core/src/superset_core/tasks/decorators.py25CODE
LOWsuperset-core/src/superset_core/tasks/decorators.py26CODE
LOW…erset-core/src/superset_core/semantic_layers/config.py18CODE
LOW…set-core/src/superset_core/semantic_layers/metadata.py20CODE
LOW…erset-core/src/superset_core/semantic_layers/models.py32CODE
LOWsuperset-core/src/superset_core/semantic_layers/daos.py32CODE
LOW…perset-core/src/superset_core/semantic_layers/types.py18CODE
LOWsuperset-core/src/superset_core/semantic_layers/view.py18CODE
LOW…perset-core/src/superset_core/semantic_layers/layer.py18CODE
LOW…perset-core/src/superset_core/semantic_layers/layer.py26CODE
LOW…erset-core/src/superset_core/semantic_layers/errors.py19CODE
LOW…t-core/src/superset_core/semantic_layers/decorators.py42CODE
LOWsuperset-core/src/superset_core/queries/models.py28CODE
LOWsuperset-core/src/superset_core/queries/query.py35CODE
LOWsuperset-core/src/superset_core/queries/types.py25CODE
LOWsuperset-core/src/superset_core/extensions/types.py26CODE
LOWsuperset-core/src/superset_core/extensions/context.py42CODE
LOWsuperset-core/src/superset_core/extensions/context.py47CODE
LOWsuperset-core/src/superset_core/extensions/context.py48CODE
LOWsuperset-core/src/superset_core/extensions/context.py49CODE
LOW…et-core/src/superset_core/extensions/storage/models.py31CODE
LOW…et-core/src/superset_core/extensions/storage/models.py39CODE
LOW…-core/src/superset_core/extensions/storage/__init__.py74CODE
LOW…-core/src/superset_core/extensions/storage/__init__.py74CODE
LOW…-core/src/superset_core/extensions/storage/__init__.py74CODE
LOW…-core/src/superset_core/extensions/storage/__init__.py74CODE
LOWsuperset-core/src/superset_core/common/models.py33CODE
LOWsuperset-core/src/superset_core/common/models.py43CODE
LOWsuperset-core/src/superset_core/common/models.py43CODE
LOWsuperset-core/src/superset_core/common/models.py43CODE
LOWsuperset-core/src/superset_core/rest_api/decorators.py36CODE
LOWtests/conftest.py26CODE
LOWtests/unit_tests/conftest.py112CODE
LOWtests/unit_tests/jinja_context_test.py18CODE
LOWtests/unit_tests/legacy_tests.py23CODE
LOWtests/unit_tests/test_marshmallow4_compat.py157CODE
LOWtests/unit_tests/test_sqllab_error_stacktrace.py43CODE
LOW…s/unit_tests/middleware/test_legacy_prefix_redirect.py35CODE
LOW…sts/unit_tests/soft_delete/test_restore_purge_hoist.py19CODE
LOWtests/unit_tests/databases/error_provenance_test.py18CODE
LOWtests/unit_tests/databases/api_test.py20CODE
LOWtests/unit_tests/tasks/test_async_queries.py31CODE
LOWtests/unit_tests/tasks/test_export_dashboard_excel.py17CODE
LOW…sts/unit_tests/tasks/test_version_history_retention.py29CODE
LOWtests/unit_tests/tasks/test_native_filter_cache.py17CODE
LOWtests/unit_tests/coordination/test_service.py17CODE
LOW…_tests/security/test_superset_user_api_subject_sync.py33CODE
LOW…_tests/security/test_superset_user_api_subject_sync.py46CODE
LOW…nit_tests/security/test_embedded_guest_chart_access.py26CODE
LOW…s/unit_tests/security/test_guest_token_empty_filter.py30CODE
1298 more matches not shown…
Cross-Language Confusion158 hits · 788 pts
SeverityFileLineSnippetContext
HIGH…ore/src/superset_core/extensions/storage/persistent.py30- Shared (global): (extension_id, null, key)STRING
HIGHtests/unit_tests/sql_lab_test.py561 app_context.push()CODE
HIGHtests/unit_tests/sql_lab_test.py691 app_context.push()CODE
HIGHtests/unit_tests/pandas_postprocessing/test_cum.py39 assert _timeseries_df.equals(timeseries_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_cum.py196 assert cum_and_flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_cum.py242 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rolling.py40 assert _timeseries_df.equals(timeseries_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rolling.py178 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rolling.py229 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_pivot.py588 client's ``if (acc === null) return null`` division-by-zero guard."""STRING
HIGH⚡tests/unit_tests/pandas_postprocessing/test_resample.py328 assert post_df.index.equals(CODE
HIGH⚡tests/unit_tests/pandas_postprocessing/test_resample.py506 assert post_df.index.equals(pd.date_range("2019-01-01", "2019-01-04", freq="1D"))CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py37 assert _timeseries_df.equals(timeseries_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py52 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py75 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py98 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py123 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py197 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py443 assert post_df.index.equals(pd.date_range("2018-12-31", "2019-01-03", freq="1D"))CODE
HIGHtests/unit_tests/pandas_postprocessing/test_resample.py562 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_sort.py49 assert df.equals(timeseries_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_rename.py34 assert _categories_df.equals(categories_df)CODE
HIGH⚡tests/unit_tests/pandas_postprocessing/test_rename.py54 assert not new_categories_df.equals(categories_df)CODE
HIGH⚡tests/unit_tests/pandas_postprocessing/test_rename.py67 assert _categories_df_inplaced.equals(_categories_df)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py36 assert _timeseries_df2.equals(timeseries_df2)CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py54 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py74 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py100 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py128 assert post_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py170 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py234 assert flat_df.equals(CODE
HIGHtests/unit_tests/pandas_postprocessing/test_compare.py286 assert flat_df.equals(CODE
HIGHtests/unit_tests/databases/schema_tests.py491 (e.g. {"metadata_cache_timeout": {"schema_cache_timeout": null}}). ImportSTRING
HIGHtests/unit_tests/databases/schema_tests.py602 JSON but not a mapping (int, null, list, bool, string), instead ofSTRING
HIGHtests/unit_tests/databases/schema_tests.py623 JSON but not a mapping (int, null, list, bool, string), instead of lettingSTRING
HIGH…it_tests/datasets/commands/importers/v1/import_test.py198 assert sqla_table.metrics[0].extra == '{"warning_markdown": null}'CODE
HIGH…it_tests/datasets/commands/importers/v1/import_test.py1369 assert sqla_table.metrics[0].extra == '{"warning_markdown": null}'CODE
HIGH…it_tests/datasets/commands/importers/v1/import_test.py1431 "extra": '{"warning_markdown": null}',CODE
HIGH…it_tests/datasets/commands/importers/v1/import_test.py1459 assert sqla_table.metrics[0].extra == '{"warning_markdown": null}'CODE
HIGHtests/unit_tests/semantic_layers/api_test.py2774 # An unset description must come back as null, not be omitted: the modalCOMMENT
HIGH⚡tests/unit_tests/queries/query_object_test.py221 assert query_object.exec_post_processing(df).index.equals(CODE
HIGHtests/unit_tests/queries/query_object_test.py164 assert query_object.exec_post_processing(df).index.equals(CODE
HIGHtests/unit_tests/queries/query_object_test.py196 assert query_object.exec_post_processing(df).index.equals(CODE
HIGHtests/unit_tests/charts/test_client_processing.py4269 ) # Second data row should have empty last_name (NA converted to null)STRING
HIGHtests/unit_tests/charts/test_chart_data_api.py107 # A real (non-null) DATA cache backend so async is viable.COMMENT
HIGHtests/unit_tests/utils/test_screenshot_utils.py114 if (error && selector.includes('alert')) return {};CODE
HIGHtests/unit_tests/utils/test_screenshot_utils.py115 return null;CODE
HIGHtests/unit_tests/utils/test_screenshot_utils.py157 results.push(predicate({token, stabilityMs: 500}));CODE
HIGHtests/unit_tests/extensions/storage/test_api.py955 back with value=null, but the row and its codec are still listed."""STRING
HIGH⚡tests/unit_tests/mcp_service/test_middleware_logging.py708 '"tables": 161}], "row_count": 1, "error": null, 'CODE
HIGH⚡tests/unit_tests/mcp_service/test_middleware_logging.py709 '"error_type": null}'CODE
HIGHtests/unit_tests/mcp_service/test_middleware_logging.py312 '{"success": false, "chart": null, 'CODE
HIGH⚡tests/unit_tests/mcp_service/test_middleware_logging.py702 substring (as "error_type":null). The substring check must not treatSTRING
HIGH⚡…_service/dataset/tool/test_dataset_metric_mutations.py123 """Names and SQL expressions cannot be null, empty, or whitespace."""STRING
HIGHtests/unit_tests/mcp_service/chart/test_gauge_render.py66 warn: message => warnings.push(message), info() {}, debug() {},CODE
HIGHtests/unit_tests/mcp_service/chart/test_gauge_render.py75 if (item.mark?.marktype === type) target.push(item);CODE
HIGHtests/unit_tests/mcp_service/chart/test_gauge_render.py89 assert(radius > arcs[0].innerRadius && radius < arcs[0].outerRadius);CODE
HIGHtests/unit_tests/mcp_service/chart/test_gauge_render.py90 assert(rule.x > 0 && rule.y > 0);CODE
HIGH⚡…t_tests/mcp_service/chart/test_treemap_completeness.py566 warn: message => warnings.push(message), info() {}, debug() {},CODE
HIGH⚡…t_tests/mcp_service/chart/test_treemap_completeness.py575 if (item.mark?.marktype === 'rect') rectangles.push(item);CODE
98 more matches not shown…
Excessive Try-Catch Wrapping685 hits · 673 pts
SeverityFileLineSnippetContext
LOWsetup.py35 except Exception: # pylint: disable=broad-exceptCODE
MEDIUMsetup.py31def get_git_sha() -> str:CODE
LOW…s/unit_tests/datasets/test_datetime_format_detector.py63 except Exception as ex:CODE
LOW…s/unit_tests/datasets/test_datetime_format_detector.py68 except Exception as retry_ex:CODE
LOWtests/unit_tests/server/test_gunicorn_gevent_smoke.py117 except Exception as ex: # noqa: BLE001CODE
LOW⚡tests/unit_tests/utils/test_core.py1923 except Exception:CODE
LOW⚡tests/unit_tests/utils/test_core.py1930 except Exception:CODE
MEDIUMtests/unit_tests/models/core_test.py1199def worker() -> None:CODE
MEDIUMtests/unit_tests/models/core_test.py2536def thread_a() -> None:CODE
MEDIUMtests/unit_tests/models/core_test.py2547def thread_b() -> None:CODE
LOWtests/unit_tests/models/core_test.py1205 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWtests/unit_tests/models/core_test.py1544 except Exception:CODE
LOWtests/unit_tests/models/core_test.py2541 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWtests/unit_tests/models/core_test.py2555 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py152 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py193 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py228 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py748 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py782 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py866 except Exception as e:CODE
LOWtests/unit_tests/extensions/test_sqlalchemy.py415 except Exception as e:STRING
LOWtests/unit_tests/extensions/test_sqlalchemy.py465 except Exception as e:STRING
LOWtests/unit_tests/extensions/test_sqlalchemy.py519 except Exception as e:STRING
LOWtests/unit_tests/extensions/test_sqlalchemy.py572 except Exception as e:STRING
LOWtests/unit_tests/extensions/test_sqlalchemy.py625 except Exception as e:STRING
LOWtests/unit_tests/extensions/test_sqlalchemy.py676 except Exception as e:STRING
LOW…ts/unit_tests/mcp_service/test_error_classification.py206 except Exception as exc: # noqa: BLE001CODE
LOW…ts/unit_tests/mcp_service/test_worker_metadata_pool.py617 except Exception as ex: # noqa: BLE001CODE
LOW…ts/unit_tests/mcp_service/test_worker_metadata_pool.py643 except Exception:CODE
LOW…tests/commands/deletion_retention/test_purge_policy.py2093 except Exception as ex: # pylint: disable=broad-exceptCODE
LOWtests/unit_tests/commands/dataset/update_test.py1046 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1090 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1149 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1212 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1253 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1301 except Exception as e:CODE
LOWtests/unit_tests/commands/dataset/update_test.py1326 except Exception as e:CODE
LOW…ts/unit_tests/commands/explore/test_get_explore_rls.py120 except Exception: # noqa: BLE001CODE
LOWtests/unit_tests/sql/dialects/databend_tests.py399 except Exception: # noqa: BLE001, S112 - wrong arity, try the next oneCODE
LOWtests/unit_tests/sql/dialects/databend_tests.py421 except Exception: # noqa: BLE001, S110 - the raise is the measurementCODE
LOWtests/unit_tests/sql/dialects/databend_tests.py428 except Exception: # noqa: BLE001 - both refuse it, so it is not a regressionCODE
LOWtests/integration_tests/conftest.py128 except Exception: # noqa: S110CODE
LOW…s/integration_tests/deletion_retention/window_tests.py54 except Exception: # pylint: disable=broad-exceptCODE
LOW…s/integration_tests/deletion_retention/window_tests.py124 except Exception: # pylint: disable=broad-exceptCODE
LOWtests/integration_tests/tasks/api_tests.py117 except Exception: # noqa: S110CODE
LOWtests/integration_tests/tasks/api_tests.py122 except Exception:CODE
LOW…sts/integration_tests/tags/mysql_compatibility_test.py263 except Exception as e:CODE
LOW⚡…integration_tests/dashboards/test_theme_integration.py82 except Exception:CODE
LOW⚡…integration_tests/dashboards/test_theme_integration.py335 except Exception:CODE
MEDIUM…/integration_tests/dashboards/superset_factory_util.py200def delete_all_inserted_dashboards():CODE
MEDIUM…/integration_tests/dashboards/superset_factory_util.py264def delete_all_inserted_slices():CODE
MEDIUM…/integration_tests/dashboards/superset_factory_util.py303def delete_all_inserted_tables():CODE
MEDIUM…/integration_tests/dashboards/superset_factory_util.py342def delete_all_inserted_dbs():CODE
LOW…/integration_tests/dashboards/superset_factory_util.py213 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py219 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py278 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py284 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py317 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py323 except Exception:CODE
LOW…/integration_tests/dashboards/superset_factory_util.py352 except Exception:CODE
625 more matches not shown…
Self-Referential Comments200 hits · 622 pts
SeverityFileLineSnippetContext
MEDIUMdocker/docker-init.sh44# Create an admin userCOMMENT
MEDIUMdocker/pythonpath_dev/superset_config.py18# This file is included in the final Docker image and SHOULD be overridden whenCOMMENT
MEDIUMtests/unit_tests/jinja_context_test.py2915 # Create a guest token with attributesCOMMENT
MEDIUMtests/unit_tests/jinja_context_test.py2969 # Create a guest token without attributesCOMMENT
MEDIUMtests/unit_tests/jinja_context_test.py3011 # Create a guest token with empty attributesCOMMENT
MEDIUMtests/unit_tests/jinja_context_test.py3054 # Create a guest token with null attributesCOMMENT
MEDIUMtests/unit_tests/jinja_context_test.py3100 # Create a real GuestUser object with attributesCOMMENT
MEDIUMtests/unit_tests/connectors/sqla/models_test.py1309 # Create a Postgres-like engine to test proper quotingCOMMENT
MEDIUMtests/unit_tests/connectors/sqla/models_test.py1346 # Create a PostgreSQL engine (doesn't support cross-catalog queries)COMMENT
MEDIUMtests/unit_tests/pandas_postprocessing/test_compare.py194 # Define a non-lexicographical column orderCOMMENT
MEDIUMtests/unit_tests/databases/api_test.py808 # Create a mock objectCOMMENT
MEDIUMtests/unit_tests/databases/api_test.py2709 # Create a database with a non-default configuration_methodCOMMENT
MEDIUMtests/unit_tests/security/manager_test.py4314 # Create a mock table where .data raises an exception if accessedCOMMENT
MEDIUMtests/unit_tests/dao/tag_test.py150 # Define a list of objects to tagCOMMENT
MEDIUMtests/unit_tests/semantic_layers/mapper_test.py2354 # Create main dataframeCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_date_parsing.py197 # Create a DataFrame with string values representing dates that areCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_date_parsing.py202 # Create a mock type that raises ValueError when pd.Timestamp is called on itCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_core.py667 # Create a mock SQLAlchemy database objectCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_core.py670 # Define the table name and constraint detailsCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_core.py676 # Create a mock table object with the same structureCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_core.py681 # Create a mock for the referred_table with a name attributeCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_core.py685 # Create a mock for the foreign key constraint with a name attributeCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_core.py710 # Create a mock SQLAlchemy database objectCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_core.py713 # Define the table name and constraint detailsCOMMENT
MEDIUM⚡tests/unit_tests/utils/test_core.py718 # Create a mock table object with the same structure but no matching constraintCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py575 # Create a DataFrame with timestamp stringsCOMMENT
MEDIUMtests/unit_tests/utils/test_core.py742 # Create a mock for the foreign key constraint as a dictionaryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py472 # Create a mock table for testingCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py503 # Create a condition factory that always returns TrueCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py564 # Create a mock table for testingCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py581 # Create a condition factory that always returns FalseCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py627 # Create a real table instanceCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py725 # Create a table instanceCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py984 # Create a mock template processorCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1331 # Create a mock template processorCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1458 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1514 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1564 # Create a query with GROUP BYCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1625 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1670 # Create a simple queryCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1832 # Create a table with a temporal columnCOMMENT
MEDIUMtests/unit_tests/models/helpers_test.py1915 # Create a mock SqlaTable with columnsCOMMENT
MEDIUM…it_tests/models/test_time_filter_double_application.py54 # Create a virtual dataset that uses get_time_filter withCOMMENT
MEDIUM…it_tests/models/test_time_filter_double_application.py93 # Create a query object with a time filterSTRING
MEDIUMtests/unit_tests/tags/models_test.py154 # Create an existing tagCOMMENT
MEDIUMtests/unit_tests/tags/commands/create_test.py77 # Define a list of objects to tagCOMMENT
MEDIUMtests/unit_tests/tags/commands/create_test.py195 # Define a list of objects to tagCOMMENT
MEDIUMtests/unit_tests/tags/commands/update_test.py243 # Create a tag with multiple objectsCOMMENT
MEDIUMtests/unit_tests/mcp_service/chart/test_chart_utils.py1628 # Create a time series chart configurationCOMMENT
MEDIUM…it_tests/mcp_service/chart/tool/test_generate_chart.py364 # Create a validation error with the correct structureCOMMENT
MEDIUM⚡tests/unit_tests/common/test_query_context_processor.py735 # Create a dataframe for testingCOMMENT
MEDIUM⚡tests/unit_tests/common/test_query_context_processor.py744 # Create a properly mocked datasourceCOMMENT
MEDIUM⚡tests/unit_tests/common/test_query_context_processor.py1596 # Create a mock query contextCOMMENT
MEDIUM⚡tests/unit_tests/common/test_query_context_processor.py1603 # Create a mock datasourceCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py81 # Create a processor instanceCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py670 # Create a dataframe for testingCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py1434 # Create a mock datasourceCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py1617 # Create a query object with unsanitized where clauseCOMMENT
MEDIUMtests/unit_tests/common/test_query_context_processor.py1684 # Create a mock datasourceCOMMENT
MEDIUMtests/unit_tests/db_engine_specs/test_snowflake.py440 # Create a mock SQLAlchemy columnCOMMENT
140 more matches not shown…
Modern Structural Boilerplate594 hits · 598 pts
SeverityFileLineSnippetContext
LOWsuperset-core/src/superset_core/tasks/models.py91 def set_payload(self, data: dict[str, Any]) -> None:CODE
LOWsuperset-core/src/superset_core/tasks/models.py138 def update_properties(self, updates: "TaskProperties") -> None:CODE
LOWsuperset-core/src/superset_core/tasks/models.py156 def update_task_private(self, updates: dict[str, Any]) -> None:CODE
LOWtests/unit_tests/security/test_password_change.py274 def _set_user() -> None: # pylint: disable=unused-variableCODE
LOWtests/unit_tests/security/semantic_guest_rls_test.py52def set_guest(rules: list[GuestTokenRlsRule]) -> None:CODE
LOW⚡tests/unit_tests/dao/dataset_rls_test.py23def _setup_tables(session: Session) -> None:CODE
LOWtests/unit_tests/models/test_virtual_dataset_format.py73def _set_virtual_sql(datasource: MagicMock, sql: str) -> None:CODE
LOWtests/unit_tests/extensions/storage/conftest.py62def set_user(user_id: int) -> None:CODE
LOWtests/unit_tests/mcp_service/rls/tool/test_rls_tools.py32logger = logging.getLogger(__name__)CODE
LOW…tests/mcp_service/database/tool/test_database_tools.py36logger = logging.getLogger(__name__)CODE
LOW…t_tests/mcp_service/dataset/tool/test_dataset_tools.py43logger = logging.getLogger(__name__)CODE
LOW⚡…mcp_service/saved_query/tool/test_saved_query_tools.py36logger = logging.getLogger(__name__)CODE
LOW⚡…e/annotation_layer/tool/test_annotation_layer_tools.py35logger = logging.getLogger(__name__)CODE
LOW…mcp_service/explore/tool/test_generate_explore_link.py152logger = logging.getLogger(__name__)CODE
LOW…p_service/dashboard/tool/test_manage_native_filters.py54logger = logging.getLogger(__name__)CODE
LOW⚡…dashboard/tool/test_add_chart_to_existing_dashboard.py44logger = logging.getLogger(__name__)CODE
LOW…sts/mcp_service/dashboard/tool/test_dashboard_tools.py42logger = logging.getLogger(__name__)CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py49logger = logging.getLogger(__name__)CODE
LOW⚡…ice/dashboard/tool/test_remove_chart_from_dashboard.py53logger = logging.getLogger(__name__)CODE
LOW⚡…mcp_service/dashboard/tool/test_duplicate_dashboard.py52logger = logging.getLogger(__name__)CODE
LOW…nit_tests/mcp_service/sql_lab/tool/test_execute_sql.py49logger = logging.getLogger(__name__)CODE
LOW…nit_tests/mcp_service/report/tool/test_report_tools.py31logger = logging.getLogger(__name__)CODE
LOW⚡…/unit_tests/mcp_service/query/tool/test_query_tools.py35logger = logging.getLogger(__name__)CODE
LOWtests/unit_tests/mcp_service/tag/tool/test_tag_tools.py32logger = logging.getLogger(__name__)CODE
LOWtests/unit_tests/commands/report/update_test.py70def _setup_mocks(mocker: MockerFixture, model: Mock) -> None:CODE
LOWtests/unit_tests/sql/execution/test_executor.py894 def set_query_id(query: Any) -> None:CODE
LOWtests/integration_tests/core_tests.py74logger = logging.getLogger(__name__)CODE
LOWtests/integration_tests/cli_tests.py43logger = logging.getLogger(__name__)CODE
LOWtests/integration_tests/email_tests.py36logger = logging.getLogger(__name__)CODE
LOW…egration_tests/deletion_retention/prune_audit_tests.py628 def _set_session_isolation(self, level: str) -> None:CODE
LOWtests/integration_tests/security/migrate_roles_tests.py36logger = logging.getLogger(__name__)CODE
LOW…tegration_tests/security/session_invalidation_tests.py42 def _set_active(self, active: bool) -> None:CODE
LOW…s/integration_tests/dashboards/dashboard_test_utils.py30logger = logging.getLogger(__name__)CODE
LOW…/integration_tests/dashboards/superset_factory_util.py41logger = logging.getLogger(__name__)CODE
LOW…sts/integration_tests/reports/execution_claim_tests.py30__all__ = ["test_claim_race", "test_delivery_fencing", "test_terminal_fallback"]CODE
LOW…generator/birth_names/birth_names_generator_factory.py40 def set_instance(cls, factory: BirthNamesGeneratorFactory) -> None:CODE
LOWscripts/benchmark_migration.py39logger = logging.getLogger(__name__)CODE
LOWsuperset/config.py75logger = logging.getLogger(__name__)CODE
LOWsuperset/stats_logger.py22logger = logging.getLogger(__name__)CODE
LOWsuperset/legacy.py22def update_time_range(form_data: dict[str, Any]) -> None:CODE
LOWsuperset/dataframe.py30logger = logging.getLogger(__name__)CODE
LOWsuperset/marshmallow_compatibility.py35logger = logging.getLogger(__name__)CODE
LOWsuperset/sql_lab.py83logger = logging.getLogger(__name__)CODE
LOWsuperset/app.py40logger = logging.getLogger(__name__)CODE
LOWsuperset/result_set.py34logger = logging.getLogger(__name__)CODE
LOWsuperset/jinja_context.py67logger = logging.getLogger(__name__)CODE
LOWsuperset/jinja_context.py993 def set_context(self, **kwargs: Any) -> None:CODE
LOWsuperset/jinja_context.py1103 def set_context(self, **kwargs: Any) -> None:CODE
LOWsuperset/jinja_context.py1167 def set_context(self, **kwargs: Any) -> None:CODE
LOWsuperset/connectors/sqla/models.py138logger = logging.getLogger(__name__)CODE
LOWsuperset/connectors/sqla/models.py800 def update_from_object(self, obj: dict[str, Any]) -> None:CODE
LOWsuperset/connectors/sqla/utils.py247logger = logging.getLogger(__name__)CODE
LOWsuperset/datasource/api.py62logger = logging.getLogger(__name__)CODE
LOWsuperset/websocket/channel.py51logger = logging.getLogger(__name__)CODE
LOWsuperset/databases/api.py149logger = logging.getLogger(__name__)CODE
LOWsuperset/databases/decorators.py30logger = logging.getLogger(__name__)CODE
LOWsuperset/tasks/subscription.py31__all__ = ["TaskSubscriptionPolicy", "principal_channel", "get_request_tab_id"]CODE
LOWsuperset/tasks/registry.py25logger = logging.getLogger(__name__)CODE
LOWsuperset/tasks/cron_util.py27logger = logging.getLogger(__name__)CODE
LOWsuperset/tasks/async_queries.py61logger = logging.getLogger(__name__)CODE
534 more matches not shown…
Deep Nesting453 hits · 373 pts
SeverityFileLineSnippetContext
LOWtests/unit_tests/jinja_context_test.py3473CODE
LOWtests/unit_tests/initialization_test.py289CODE
LOW…sts/unit_tests/soft_delete/test_restore_purge_hoist.py167CODE
LOW…/unit_tests/distributed_lock/distributed_lock_tests.py115CODE
LOW…/unit_tests/distributed_lock/distributed_lock_tests.py164CODE
LOWtests/unit_tests/semantic_layers/models_test.py437CODE
LOWtests/unit_tests/server/test_gunicorn_gevent_smoke.py63CODE
LOWtests/unit_tests/utils/date_parser_tests.py46CODE
LOWtests/unit_tests/utils/test_screenshot_utils.py2104CODE
LOWtests/unit_tests/utils/test_screenshot_utils.py2147CODE
LOWtests/unit_tests/utils/test_screenshot_utils.py2177CODE
LOWtests/unit_tests/models/core_test.py1160CODE
LOWtests/unit_tests/models/core_test.py1199CODE
LOWtests/unit_tests/mcp_service/test_dashboard_scope.py1464CODE
LOW…/mcp_service/test_mcp_multi_issuer_identity_binding.py66CODE
LOWtests/unit_tests/mcp_service/test_auth_api_key.py146CODE
LOWtests/unit_tests/mcp_service/test_auth_api_key.py188CODE
LOW…ts/unit_tests/mcp_service/test_auth_user_resolution.py237CODE
LOW…ts/unit_tests/mcp_service/test_auth_user_resolution.py295CODE
LOW…ts/unit_tests/mcp_service/test_auth_user_resolution.py717CODE
LOWtests/unit_tests/mcp_service/test_mcp_caching.py193CODE
LOW…s/unit_tests/mcp_service/test_mcp_tool_registration.py210CODE
LOW…s/unit_tests/mcp_service/test_mcp_tool_registration.py282CODE
LOW…s/unit_tests/mcp_service/test_mcp_tool_registration.py386CODE
LOWtests/unit_tests/mcp_service/test_mcp_e2e_smoke.py93CODE
LOWtests/unit_tests/mcp_service/test_mcp_e2e_smoke.py114CODE
LOW…ts/unit_tests/mcp_service/test_worker_metadata_pool.py328CODE
LOW…ts/unit_tests/mcp_service/test_worker_metadata_pool.py409CODE
LOW…ts/unit_tests/mcp_service/test_worker_metadata_pool.py793CODE
LOWtests/unit_tests/mcp_service/test_mcp_storage.py61CODE
LOW…ests/mcp_service/chart/test_time_grain_generic_axes.py243CODE
LOW…t_tests/mcp_service/chart/test_treemap_completeness.py1271CODE
LOWtests/unit_tests/mcp_service/chart/test_query_result.py1400CODE
LOW…_tests/mcp_service/chart/test_chart_plugin_contract.py475CODE
LOW…it_tests/mcp_service/chart/tool/test_get_chart_data.py270CODE
LOWtests/unit_tests/mcp_service/utils/test_retry_utils.py248CODE
LOW…service/dashboard/tool/test_apply_dashboard_filters.py1913CODE
LOW…t_tests/mcp_service/sql_lab/test_execute_sql_helper.py26CODE
LOWtests/unit_tests/common/test_query_context_processor.py664CODE
LOWtests/unit_tests/common/test_query_context_processor.py730CODE
LOWtests/unit_tests/common/test_query_context_processor.py2054CODE
LOWtests/unit_tests/common/test_query_context_processor.py2125CODE
LOWtests/unit_tests/common/test_query_context_processor.py2185CODE
LOW…sts/unit_tests/dashboards/semantic_view_access_test.py291CODE
LOWtests/unit_tests/commands/databases/csv_reader_test.py1260CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py77CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py170CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py259CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py298CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py340CODE
LOWtests/unit_tests/commands/dataset/test_duplicate.py446CODE
LOWtests/unit_tests/commands/dataset/test_create.py214CODE
LOWtests/unit_tests/commands/dataset/test_create.py264CODE
LOWtests/unit_tests/commands/dataset/test_create.py327CODE
LOWtests/unit_tests/commands/dataset/test_create.py363CODE
LOWtests/unit_tests/commands/dataset/test_create.py404CODE
LOWtests/unit_tests/commands/chart/test_access_checks.py43CODE
LOWtests/unit_tests/commands/chart/test_access_checks.py72CODE
LOWtests/unit_tests/commands/chart/test_access_checks.py103CODE
LOWtests/unit_tests/commands/chart/test_access_checks.py144CODE
393 more matches not shown…
Empty Error Handlers59 hits · 295 pts
SeverityFileLineSnippetContext
HIGHtests/unit_tests/conftest.py113except ImportError:CODE
HIGH…t_tests/mcp_service/sql_lab/test_execute_sql_helper.py61except AttributeError:CODE
HIGHtests/unit_tests/db_engine_specs/test_snowflake.py850except SnowflakeEngineSpec.oauth2_exception:CODE
HIGHtests/unit_tests/sql/dialects/databend_tests.py421except Exception: # noqa: BLE001, S110 - the raise is the measurementCODE
HIGHtests/integration_tests/conftest.py128except Exception: # noqa: S110CODE
HIGHtests/integration_tests/tasks/api_tests.py117except Exception: # noqa: S110CODE
HIGHtests/integration_tests/dao/base_dao_test.py1043except (ValueError, KeyError):CODE
HIGH…gration_tests/versioning/restore_fails_closed_tests.py351except sa.exc.OperationalError:CODE
HIGHsuperset/config.py1063except ValueError:CODE
HIGHsuperset/semantic_layers/api.py181except (PydanticValidationError, ValueError):CODE
HIGHsuperset/charts/data/api.py428except ChartDataCacheLoadError:CODE
HIGHsuperset/utils/encrypt.py528except ( # noqa: S110 # pylint: disable=broad-exceptCODE
HIGHsuperset/utils/log.py73except (TypeError, ValueError):CODE
HIGHsuperset/utils/core.py1068except smtplib.SMTPException:CODE
HIGHsuperset/utils/number_format.py541except RuntimeError:CODE
HIGHsuperset/utils/webdriver.py145except Exception: # noqa: S110CODE
HIGHsuperset/utils/webdriver.py151except Exception: # noqa: S110CODE
HIGHsuperset/models/helpers.py566except SupersetParseError:CODE
HIGHsuperset/models/sql_types/base.py34except (json.JSONDecodeError, TypeError):CODE
HIGHsuperset/extensions/__init__.py129except Exception: # pylint: disable=broad-except # noqa: S110CODE
HIGHsuperset/mcp_service/mcp_core.py629except ValueError:CODE
HIGHsuperset/mcp_service/app.py1022except KeyError:CODE
HIGHsuperset/mcp_service/database/schemas.py194except (ValueError, TypeError):CODE
HIGHsuperset/mcp_service/semantic_layer/tool/get_table.py698except Exception: # noqa: S110 - containment logging is best effortCODE
HIGHsuperset/mcp_service/dataset/dataset_utils.py48except (ValueError, TypeError):CODE
HIGHsuperset/mcp_service/dataset/schemas.py1281except (ValueError, TypeError):CODE
HIGHsuperset/mcp_service/dataset/tool/list_datasets.py238except (ValueError, AttributeError):CODE
HIGHsuperset/mcp_service/dataset/tool/query_dataset.py466except Exception: # noqa: S110 - containment logging is best effortCODE
HIGH…rset/mcp_service/dataset/tool/delete_dataset_metric.py101except json.JSONDecodeError:CODE
HIGH…rset/mcp_service/dataset/tool/update_dataset_metric.py44except ValueError:CODE
HIGHsuperset/mcp_service/chart/schemas.py627except (TypeError, ValueError):CODE
HIGHsuperset/mcp_service/chart/schemas.py640except ImportError:CODE
HIGHsuperset/mcp_service/chart/chart_utils.py2504except ValueError:CODE
HIGHsuperset/mcp_service/chart/validation/pipeline.py412except (ValueError, IndexError):CODE
HIGHsuperset/mcp_service/chart/validation/pipeline.py377except (ValueError, TypeError):CODE
HIGHsuperset/mcp_service/chart/tool/get_chart_sql.py210except (TypeError, ValueError):CODE
HIGHsuperset/mcp_service/chart/tool/get_chart_data.py1743except Exception: # noqa: S110 - containment logging is best effortCODE
HIGH…_service/dashboard/tool/remove_chart_from_dashboard.py140except (json.JSONDecodeError, TypeError):CODE
HIGHsuperset/mcp_service/dashboard/tool/update_dashboard.py133except (ValueError, TypeError):CODE
HIGHsuperset/common/query_object.py693except AttributeError:CODE
HIGHsuperset/db_engine_specs/clickhouse.py396except ImportError: # ClickHouse Connect not installed, do nothingCODE
HIGHsuperset/db_engine_specs/bigquery.py170except ImportError:CODE
HIGHsuperset/db_engine_specs/databricks.py135except ImportError:CODE
HIGHsuperset/db_engine_specs/base.py2267except NotImplementedError:CODE
HIGHsuperset/commands/datasource/list.py345except (TypeError, ValueError):CODE
HIGHsuperset/commands/database/update.py129except (OAuth2RedirectError, MissingOAuth2TokenError):CODE
HIGHsuperset/commands/report/update.py132except json.JSONDecodeError:CODE
HIGHsuperset/versioning/baseline/listener.py63except Exception: # pylint: disable=broad-except # noqa: S110CODE
HIGHsuperset/views/error_handling.py215except FileNotFoundError:CODE
HIGHsuperset/views/error_handling.py272except FileNotFoundError:CODE
HIGHsuperset/views/error_handling.py300except FileNotFoundError:CODE
HIGHsuperset/sql/parse.py1228except sqlglot.errors.ParseError:CODE
HIGHsuperset/sql/parse.py1801except AttributeError:CODE
HIGHsuperset-extensions-cli/tests/test_utils.py239except (OSError, PermissionError):CODE
HIGHsuperset-extensions-cli/tests/test_utils.py263except (OSError, PermissionError):CODE
HIGHsuperset-extensions-cli/tests/test_utils.py246except (OSError, PermissionError):CODE
HIGHsuperset-extensions-cli/tests/test_utils.py270except (OSError, PermissionError):CODE
HIGHsuperset-extensions-cli/tests/test_cli_dev.py69except KeyboardInterrupt:CODE
HIGHsuperset-extensions-cli/tests/test_cli_dev.py127except KeyboardInterrupt:CODE
Fake / Example Data219 hits · 220 pts
SeverityFileLineSnippetContext
LOWtests/unit_tests/test_marshmallow_compatibility.py172 data = {"name": "John Doe", "email": "john@example.com", "age": 30}CODE
LOWtests/unit_tests/test_marshmallow_compatibility.py174 assert result["name"] == "John Doe"CODE
LOWtests/unit_tests/tasks/test_export_dashboard_excel.py136 user.email = "user@example.com"CODE
LOW…_tests/security/test_superset_user_api_subject_sync.py63 email=f"{username}@example.org",CODE
LOW…_tests/security/test_superset_user_api_subject_sync.py77 email=f"{username}@example.org",CODE
LOWtests/unit_tests/security/test_password_change.py180 email="flagged@example.org",CODE
LOW⚡tests/unit_tests/security/manager_test.py1469 email="adoe@example.org",CODE
LOWtests/unit_tests/security/manager_test.py1359 email="adoe@example.org",CODE
LOWtests/unit_tests/security/manager_test.py1419 email="adoe@example.org",CODE
LOW…/security/test_password_change_session_invalidation.py66 email="session_invalidation_target@example.org",CODE
LOW…/security/test_password_change_session_invalidation.py73 email="session_invalidation_actor@example.org",CODE
LOW…/security/test_password_change_session_invalidation.py160 email="admin_edit_password_target@example.org",CODE
LOW…/security/test_password_change_session_invalidation.py195 email="admin_edit_no_password_target@example.org",CODE
LOW…/security/test_password_change_session_invalidation.py244 email="terminate_sessions_target@example.org",CODE
LOWtests/unit_tests/datasets/schema_tests.py90 label = "Jane Doe"CODE
LOWtests/unit_tests/datasets/schema_tests.py97 assert dumped == {"id": 1, "label": "Jane Doe", "img": "avatar.png", "type": 1}CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1735 email="adoe@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1825 email="adoe@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1874 email="adoe@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py1919 email="bob@example.org",CODE
LOW…it_tests/datasets/commands/importers/v1/import_test.py2118 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py225 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py266 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py301 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py356 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py412 email="adoe@example.org",CODE
LOW…unit_tests/charts/commands/importers/v1/import_test.py445 email="bob@example.org",CODE
LOWtests/unit_tests/models/core_test.py585 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/models/core_test.py766 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/models/core_test.py830 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/models/core_test.py870 user.email = "alice.doe@example.org"CODE
LOWtests/unit_tests/models/core_test.py884 assert database.get_impersonation_email() == "alice.doe@example.org"CODE
LOWtests/unit_tests/models/core_test.py1627 email="adoe@example.org",CODE
LOWtests/unit_tests/models/core_test.py1713 email="adoe2@example.org",CODE
LOWtests/unit_tests/models/core_test.py1731 email=f"drift{i}@example.org",CODE
LOWtests/unit_tests/models/core_test.py1812 email="adoe3@example.org",CODE
LOWtests/unit_tests/models/helpers_test.py2989 "val": ["John Doe", "Jane Doe"],CODE
LOWtests/unit_tests/models/helpers_test.py2989 "val": ["John Doe", "Jane Doe"],CODE
LOWtests/unit_tests/mcp_service/test_guest_token_auth.py65 fake_token = "fake-token" # noqa: S105 — test fixture, not a real credentialCODE
LOWtests/unit_tests/mcp_service/test_guest_token_auth.py66 return AccessToken(token=fake_token, client_id=client_id, scopes=[], claims=claims)CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py88 user.email = "admin@example.com"CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py100 assert info.email == "admin@example.com"CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py114 user.email = "admin@example.com"CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py137 user.email = "admin@example.com"CODE
LOWtests/unit_tests/mcp_service/user/test_schemas.py149 assert info.email == "admin@example.com"CODE
LOW⚡…ts/unit_tests/mcp_service/user/tool/test_user_tools.py235 user = create_mock_user(email="admin@example.com", roles=["Admin"])CODE
LOW⚡…ts/unit_tests/mcp_service/user/tool/test_user_tools.py245 assert data["users"][0]["email"] == "admin@example.com"CODE
LOW⚡…ts/unit_tests/mcp_service/user/tool/test_user_tools.py253 user = create_mock_user(email="admin@example.com")CODE
LOW…ts/unit_tests/mcp_service/user/tool/test_user_tools.py45 email: str = "admin@example.com",CODE
LOW⚡…sts/unit_tests/mcp_service/dashboard/test_permalink.py92 (None, "admin@example.com", {"email": "admin@example.com"}),CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py159 mock_user.email = "admin@example.com"CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py479 email="admin@example.com",CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py526 email="admin@example.com",CODE
LOW…cp_service/dashboard/tool/test_dashboard_generation.py585 email="admin@example.com",CODE
LOW⚡…tests/mcp_service/system/test_serialize_user_object.py40 user.email = "admin@example.com"CODE
LOW…tests/mcp_service/system/test_serialize_user_object.py51 assert result.email == "admin@example.com"CODE
LOW…tests/mcp_service/system/test_serialize_user_object.py68 user.email = "admin@example.com"CODE
LOWtests/unit_tests/db_engine_specs/test_snowflake.py725 return_value="jdoe@example.org",CODE
LOW⚡tests/unit_tests/db_engine_specs/test_gsheets.py1563 service_account = {"type": "service_account", "client_email": "sa@example.org"}CODE
LOW⚡tests/unit_tests/db_engine_specs/test_gsheets.py1580 service_account = {"type": "service_account", "client_email": "sa@example.org"}CODE
159 more matches not shown…
Redundant / Tautological Comments127 hits · 202 pts
SeverityFileLineSnippetContext
LOWdocker/frontend-mem-nag.sh26 # Check if running in Codespaces firstCOMMENT
LOWdocker/docker-pytest-entrypoint.sh89# Check if test database existsCOMMENT
LOWtests/unit_tests/tasks/test_handlers.py580 # Set task to SUCCESS (not aborting) so only cleanup handlers runCOMMENT
LOWtests/unit_tests/tasks/test_handlers.py632 # Set task to ABORTING so both abort and cleanup handlers runCOMMENT
LOW⚡tests/unit_tests/security/manager_test.py1456 # Check if Alpha role already existsCOMMENT
LOW⚡tests/unit_tests/security/manager_test.py1463 # Check if user already existsCOMMENT
LOWtests/unit_tests/dao/base_dao_test.py205 # Set model_cls to None but allow method to proceed past guard clauseCOMMENT
LOWtests/unit_tests/utils/test_screenshot_cache_fix.py267 # Set TTL to 300 secondsCOMMENT
LOWtests/unit_tests/utils/test_screenshot_cache_fix.py282 # Set TTL to 300 secondsCOMMENT
LOW…it_tests/models/test_time_filter_double_application.py135 # Check if there's a WHERE clause after the subquery closesSTRING
LOW…it_tests/models/test_time_filter_double_application.py358 # Check if there's a WHERE clause after the subquerySTRING
LOW…s/unit_tests/mcp_service/test_mcp_tool_registration.py522 # Check if it has any .py files in it or its subdirectoriesCOMMENT
LOW…t_tests/mcp_service/sql_lab/test_execute_sql_helper.py36 # Check if it's a Pydantic model with model_dumpCOMMENT
LOWtests/unit_tests/db_engine_specs/test_trino.py652 # Set stats to FINISHED so the progress loop exits immediatelyCOMMENT
LOW⚡tests/unit_tests/commands/databases/csv_reader_test.py262 # Check if both values are NaNCOMMENT
LOW⚡…sts/unit_tests/commands/databases/excel_reader_test.py185 # Check if both values are NaNCOMMENT
LOW…/unit_tests/commands/databases/columnar_reader_test.py129 # Check if both values are NaNCOMMENT
LOWtests/unit_tests/sql/execution/test_celery_task.py93 # Set end_time to trigger the branch skipCOMMENT
LOWtests/integration_tests/tasks/test_event_handlers.py251 # Set status to ABORTING (simulating CancelTaskCommand)COMMENT
LOW⚡…integration_tests/dashboards/test_theme_integration.py89 # Assign theme to dashboardCOMMENT
LOW⚡…integration_tests/dashboards/test_theme_integration.py100 # Assign theme to dashboardCOMMENT
LOW⚡…integration_tests/dashboards/test_theme_integration.py338 # Set theme to None so tearDown doesn't try to delete itCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py157 # Assign theme to dashboardCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py182 # Assign theme to dashboardCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py213 # Assign theme to dashboardCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py233 # Set theme to None so tearDown doesn't try to delete itCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py255 # Assign theme to both dashboardsCOMMENT
LOW…integration_tests/dashboards/test_theme_integration.py380 # Assign theme to dashboardCOMMENT
LOWdocs/scripts/fix-openapi-spec.py466 # Check if endpoint has a request bodyCOMMENT
LOWdocs/scripts/fix-openapi-spec.py503 # Check if already configuredCOMMENT
LOWdocs/scripts/fix-openapi-spec.py779 # Check if this suffix is already in the summaryCOMMENT
LOW.devcontainer/start-superset.sh7# Check if MCP is enabledCOMMENT
LOW.devcontainer/start-superset.sh21# Check if docker is runningCOMMENT
LOWscripts/docker-compose-up.sh129# Check if containers are running and get actual ports, otherwise use available portsCOMMENT
LOWscripts/change_detector.py285 # Output resultsCOMMENT
LOW.github/workflows/bashlib.sh268 # Check if there are any test files in the specified pathsCOMMENT
LOW⚡superset/config.py3556# Set CACHE_TYPE to 'RedisCache' for standard Redis or 'RedisSentinelCache' forCOMMENT
LOWsuperset/sql_lab.py585 # Check if stoppedCOMMENT
LOWsuperset/app.py187 # Check if database is up-to-date with migrationsCOMMENT
LOWsuperset/result_set.py252 # Check if original data has nested types (lists/dicts)COMMENT
LOWsuperset/connectors/sqla/models.py313 # Check if all requested columns are drillableCOMMENT
LOWsuperset/databases/schemas.py1163 # Check if any sensitive field is still maskedCOMMENT
LOWsuperset/tasks/context.py472 # Check if task execution has already completed (late abort race).COMMENT
LOW⚡superset/tasks/context.py534 # Check if all abort handlers completed successfullyCOMMENT
LOWsuperset/tasks/context.py822 # Set status to ABORTING (same as user abort). The executorCOMMENT
LOWsuperset/security/manager.py2678 # Check if this is actually a multi-layer deck.gl chartCOMMENT
LOWsuperset/security/manager.py3740 # Check if database name has changedCOMMENT
LOWsuperset/security/manager.py4065 # Check if watched fields have changedCOMMENT
LOWsuperset/semantic_layers/mapper.py957 # Check if we need separate filters for the group limit subqueryCOMMENT
LOWsuperset/semantic_layers/mapper.py984 # Check if inner time bounds are explicitly set and differ from outer boundsCOMMENT
LOWsuperset/charts/client_processing.py1389 # Check if the DataFrame has a default RangeIndex, which should not be shownCOMMENT
LOWsuperset/charts/data/api.py483 # Check if we should use streaming for large datasetsCOMMENT
LOWsuperset/charts/data/api.py811 # Check if we have rowcount in the second query result (like frontend does)COMMENT
LOWsuperset/utils/cache.py245 # Check if the user can access the resourceCOMMENT
LOWsuperset/utils/cache.py276 # Check if the cache is stale. Default the content_changed_time to nowCOMMENT
LOWsuperset/utils/core.py1311 # Check if the filter already existsCOMMENT
LOWsuperset/models/tasks.py285 # Set is_abortable to False when task starts executingCOMMENT
LOWsuperset/models/helpers.py951 # Check if object already exists in DB, break if more than one is foundCOMMENT
LOWsuperset/models/helpers.py5089 # Check if time filter should be skipped because it was handled in template.COMMENT
LOWsuperset/models/helpers.py5239 # Check if it's a regular column firstCOMMENT
67 more matches not shown…
Structural Annotation Overuse105 hits · 193 pts
SeverityFileLineSnippetContext
LOW⚡…commands/importers/v1/test_find_existing_for_import.py201 # Step 1: find (pure). Caller now has the row to make decisions on.COMMENT
LOW⚡…commands/importers/v1/test_find_existing_for_import.py206 # Step 2: caller decides to clear (in real code, after overwrite +COMMENT
LOW⚡…commands/importers/v1/test_find_existing_for_import.py210 # Step 3: caller can now re-insert with the same UUID withoutCOMMENT
LOW⚡tests/unit_tests/reports/notifications/slack_tests.py2524 # Step 1: v1 send raises SlackV1NotificationError because v2 is available.COMMENT
LOW⚡tests/unit_tests/reports/notifications/slack_tests.py2529 # Step 2: command-level upgrade rewrites the row to SlackV2 with channel IDs.COMMENT
LOW⚡tests/unit_tests/reports/notifications/slack_tests.py2535 # Step 3: a fresh SlackV2Notification on the rewritten row sends to theCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py47 # Step 1: Gamma submits a shared taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py66 # Step 2: Admin joins the same taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py84 # Step 3: Gamma cancels (unsubscribes)COMMENT
LOW⚡…ntegration_tests/tasks/test_subscription_visibility.py96 # Step 4: Verify gamma can no longer see the taskCOMMENT
LOW⚡…ntegration_tests/tasks/test_subscription_visibility.py103 # Step 5: Verify admin still sees the taskCOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py193 # Step 1: Encrypt with KEY_ACOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py198 # Step 2: Verify decryption with KEY_A worksCOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py202 # Step 3: Rotate key to KEY_BCOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py205 # Step 4: Re-encrypt with KEY_B (simulating SecretsMigrator logic)COMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py223 # Step 5: Verify decryption with KEY_B worksCOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py227 # Step 6: Verify KEY_A can no longer decrypt the new ciphertextCOMMENT
LOW⚡tests/integration_tests/dashboards/commands_tests.py939 # Step 1: Add an embedded dashboardCOMMENT
LOW⚡tests/integration_tests/dashboards/commands_tests.py946 # Step 2: Assert that the embedded dashboard was addedCOMMENT
LOW⚡tests/integration_tests/dashboards/commands_tests.py951 # Step 3: Delete the embedded dashboardCOMMENT
LOW⚡tests/integration_tests/dashboards/commands_tests.py956 # Step 4: Assert that the embedded dashboard was deletedCOMMENT
LOW⚡…ts/integration_tests/versioning/activity_view_tests.py509 # Step 1: generate a chart-edit change record for "Girls".COMMENT
LOW⚡…ts/integration_tests/versioning/activity_view_tests.py513 # Step 2: hard-delete the chart. The fixture's _cleanup willCOMMENT
LOW.claude/projects/js-to-ts/AGENT.md20## Step 0: Dependency Check (MANDATORY)COMMENT
LOW.claude/projects/js-to-ts/AGENT.md33## Step 1: Identify Related Files (REQUIRED)COMMENT
LOW⚡.claude/projects/js-to-ts/AGENT.md201### Step 2: File ConversionCOMMENT
LOW⚡.claude/projects/js-to-ts/AGENT.md208### Step 3: Import & Type SetupCOMMENT
LOW⚡.claude/projects/js-to-ts/AGENT.md217### Step 4: Function & Component TypingCOMMENT
LOW.claude/projects/js-to-ts/AGENT.md238### Step 5: State & Redux TypingCOMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts410 // Step 1: Parse into ASTCOMMENT
LOW⚡…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts444 // Step 2: Validate AST for security (no functions, eval, etc.)COMMENT
LOW⚡…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts452 // Step 3: Convert AST to JavaScript objectCOMMENT
LOW⚡…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts455 // Step 4: Validate against Zod schema with partial/lenient modeCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx46 // Step 1: Simulate saved dashboard configCOMMENT
LOW⚡…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx83 // Step 2: Render the dashboard filterCOMMENT
LOW⚡…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx91 // Step 3: Verify only pre-filtered options appearCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx107 // Step 4: Selecting one allowed option should update runtime payloadCOMMENT
LOW⚡…-frontend/src/dashboard/reducers/nativeFilters.test.ts510 // Step 1: filter(Boolean) — as hydrate.ts doesCOMMENT
LOW⚡…-frontend/src/dashboard/reducers/nativeFilters.test.ts512 // Step 2: migrate — as hydrate.ts doesCOMMENT
LOW⚡…-frontend/src/dashboard/reducers/nativeFilters.test.ts514 // Step 3: combine with native filters and pass to getInitialStateCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md38## Step 1: Install the Extensions CLICOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md46## Step 2: Create a New ExtensionCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md94## Step 3: Configure Extension MetadataCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md116## Step 4: Create Backend APICOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md189## Step 5: Create Frontend ComponentCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md422## Step 6: Install DependenciesCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md432## Step 7: Package the ExtensionCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md450## Step 8: Deploy to SupersetCOMMENT
LOW…versioned_docs/version-6.1.0/extensions/quick-start.md487## Step 9: Test Your ExtensionCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md38## Step 1: Install the Extensions CLICOMMENT
LOWdocs/developer_docs/extensions/quick-start.md46## Step 2: Create a New ExtensionCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md94## Step 3: Configure Extension MetadataCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md116## Step 4: Create Backend APICOMMENT
LOWdocs/developer_docs/extensions/quick-start.md189## Step 5: Create Frontend ComponentCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md421## Step 6: Install DependenciesCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md431## Step 7: Package the ExtensionCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md449## Step 8: Deploy to SupersetCOMMENT
LOWdocs/developer_docs/extensions/quick-start.md486## Step 9: Test Your ExtensionCOMMENT
LOW⚡superset/config.py461# NOTE: This variable is used to populate THEME_DEFAULT. If you override this inCOMMENT
LOWsuperset/config.py478# NOTE: This variable is deprecated and not used in the new theme system.COMMENT
45 more matches not shown…
Verbosity Indicators73 hits · 145 pts
SeverityFileLineSnippetContext
LOW⚡…commands/importers/v1/test_find_existing_for_import.py201 # Step 1: find (pure). Caller now has the row to make decisions on.COMMENT
LOW⚡…commands/importers/v1/test_find_existing_for_import.py206 # Step 2: caller decides to clear (in real code, after overwrite +COMMENT
LOW⚡…commands/importers/v1/test_find_existing_for_import.py210 # Step 3: caller can now re-insert with the same UUID withoutCOMMENT
LOW⚡tests/unit_tests/reports/notifications/slack_tests.py2524 # Step 1: v1 send raises SlackV1NotificationError because v2 is available.COMMENT
LOW⚡tests/unit_tests/reports/notifications/slack_tests.py2529 # Step 2: command-level upgrade rewrites the row to SlackV2 with channel IDs.COMMENT
LOW⚡tests/unit_tests/reports/notifications/slack_tests.py2535 # Step 3: a fresh SlackV2Notification on the rewritten row sends to theCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py47 # Step 1: Gamma submits a shared taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py66 # Step 2: Admin joins the same taskCOMMENT
LOW…ntegration_tests/tasks/test_subscription_visibility.py84 # Step 3: Gamma cancels (unsubscribes)COMMENT
LOW⚡…ntegration_tests/tasks/test_subscription_visibility.py96 # Step 4: Verify gamma can no longer see the taskCOMMENT
LOW⚡…ntegration_tests/tasks/test_subscription_visibility.py103 # Step 5: Verify admin still sees the taskCOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py193 # Step 1: Encrypt with KEY_ACOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py198 # Step 2: Verify decryption with KEY_A worksCOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py202 # Step 3: Rotate key to KEY_BCOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py205 # Step 4: Re-encrypt with KEY_B (simulating SecretsMigrator logic)COMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py223 # Step 5: Verify decryption with KEY_B worksCOMMENT
LOW⚡tests/integration_tests/utils/encrypt_tests.py227 # Step 6: Verify KEY_A can no longer decrypt the new ciphertextCOMMENT
LOW⚡tests/integration_tests/dashboards/commands_tests.py939 # Step 1: Add an embedded dashboardCOMMENT
LOW⚡tests/integration_tests/dashboards/commands_tests.py946 # Step 2: Assert that the embedded dashboard was addedCOMMENT
LOW⚡tests/integration_tests/dashboards/commands_tests.py951 # Step 3: Delete the embedded dashboardCOMMENT
LOW⚡tests/integration_tests/dashboards/commands_tests.py956 # Step 4: Assert that the embedded dashboard was deletedCOMMENT
LOW⚡…ts/integration_tests/versioning/activity_view_tests.py509 # Step 1: generate a chart-edit change record for "Girls".COMMENT
LOW⚡…ts/integration_tests/versioning/activity_view_tests.py513 # Step 2: hard-delete the chart. The fixture's _cleanup willCOMMENT
LOW…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts410 // Step 1: Parse into ASTCOMMENT
LOW⚡…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts444 // Step 2: Validate AST for security (no functions, eval, etc.)COMMENT
LOW⚡…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts452 // Step 3: Convert AST to JavaScript objectCOMMENT
LOW⚡…gin-chart-echarts/src/utils/safeEChartOptionsParser.ts455 // Step 4: Validate against Zod schema with partial/lenient modeCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx46 // Step 1: Simulate saved dashboard configCOMMENT
LOW⚡…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx83 // Step 2: Render the dashboard filterCOMMENT
LOW⚡…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx91 // Step 3: Verify only pre-filtered options appearCOMMENT
LOW…ents/TimeGrain/TimeGrainPreFilter.integration.test.tsx107 // Step 4: Selecting one allowed option should update runtime payloadCOMMENT
LOW⚡…-frontend/src/dashboard/reducers/nativeFilters.test.ts510 // Step 1: filter(Boolean) — as hydrate.ts doesCOMMENT
LOW⚡…-frontend/src/dashboard/reducers/nativeFilters.test.ts512 // Step 2: migrate — as hydrate.ts doesCOMMENT
LOW⚡…-frontend/src/dashboard/reducers/nativeFilters.test.ts514 // Step 3: combine with native filters and pass to getInitialStateCOMMENT
LOW⚡superset/semantic_layers/mapper.py149 # Step 1: Convert QueryObject to list of SemanticQuery objectsCOMMENT
LOW⚡superset/semantic_layers/mapper.py153 # Step 2: Execute the main query (first in the list)COMMENT
LOWsuperset/semantic_layers/mapper.py227 # Step 5: Perform left join on dimension columnsCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py492 # Step 1: Decode header and check algorithmCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py535 # Step 2: Get verification key (static or JWKS).COMMENT
LOWsuperset/mcp_service/jwt_verifier.py577 # Step 3: Decode and verify signatureCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py600 # Step 4: Check expiration. An ``exp`` claim is required — tokensCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py652 # Step 5: Validate issuerCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py670 # Step 6: Validate audienceCOMMENT
LOWsuperset/mcp_service/jwt_verifier.py697 # Step 7: Check required scopesCOMMENT
LOW⚡superset/mcp_service/dataset/tool/query_dataset.py127 # Step 1: Check data-model metadata access BEFORE the dataset lookup.COMMENT
LOW⚡superset/mcp_service/dataset/tool/query_dataset.py143 # Step 2: Resolve datasetCOMMENT
LOW⚡superset/mcp_service/dataset/tool/query_dataset.py178 # Step 2: Validate requested columns and metricsCOMMENT
LOW⚡superset/mcp_service/dataset/tool/query_dataset.py236 # Step 3: Build filters and time rangeCOMMENT
LOW⚡superset/mcp_service/dataset/tool/query_dataset.py298 # Step 4: Build query dictCOMMENT
LOW⚡superset/mcp_service/dataset/tool/query_dataset.py316 # Step 5: Create QueryContext and executeCOMMENT
LOW⚡superset/mcp_service/dataset/tool/query_dataset.py341 # Step 6: Format responseCOMMENT
LOW⚡…erset/mcp_service/chart/prompts/create_chart_guided.py88### Step 1: Find a DatasetCOMMENT
LOW⚡…erset/mcp_service/chart/prompts/create_chart_guided.py91### Step 2: Examine ColumnsCOMMENT
LOW⚡…erset/mcp_service/chart/prompts/create_chart_guided.py94### Step 3: Choose Chart ConfigurationCOMMENT
LOW⚡…erset/mcp_service/chart/prompts/create_chart_guided.py101### Step 4: Create the ChartCOMMENT
LOW…erset/mcp_service/chart/prompts/create_chart_guided.py133### Step 5: Validate ResultsCOMMENT
LOW⚡superset/common/query_context_processor.py755 # Step 1: Request-level custom timeout (e.g., Force refresh bypass)COMMENT
LOW⚡superset/common/query_context_processor.py759 # Step 2: Native filter option query override.COMMENT
LOW⚡superset/common/query_context_processor.py768 # Step 3: Slice, Dataset, or Database timeoutsCOMMENT
LOW⚡superset/common/query_context_processor.py772 # Step 4: DATA_CACHE_CONFIG fallback.COMMENT
13 more matches not shown…
Docstring Block Structure28 hits · 138 pts
SeverityFileLineSnippetContext
HIGH…t-core/src/superset_core/semantic_layers/decorators.py55 Decorator to register a semantic layer implementation. Automatically detects extension context and applies appSTRING
HIGHsuperset-core/src/superset_core/mcp/decorators.py62 Decorator to register an MCP tool with optional authentication. This decorator combines FastMCP tool registratSTRING
HIGHsuperset-core/src/superset_core/mcp/decorators.py139 Decorator to register an MCP prompt with optional authentication. This decorator combines FastMCP prompt regisSTRING
HIGHsuperset-core/src/superset_core/rest_api/decorators.py48 Unified API decorator for both host and extension APIs. Automatically detects context: - Host context: /apSTRING
HIGHsuperset/jinja_context.py407 Get a specific user attribute from guest user. This function retrieves attributes from the guest user STRING
HIGHsuperset/tasks/decorators.py701 Schedule this task for asynchronous execution. The signature mirrors the original task function, with STRING
HIGHsuperset/utils/screenshot_utils.py871 Take a tiled screenshot of a large dashboard by scrolling and capturing sections. Args: page: PlaywrigSTRING
HIGHsuperset/utils/cache_manager.py59 Create a hash object using the configured algorithm. Args: data: Optional initial data to STRING
HIGHsuperset/utils/date_parser.py259 Generates a datetime expression for the start of a given unit (e.g., start of month, start of year). This STRING
HIGHsuperset/utils/date_parser.py289 Generates a datetime expression for the end of a given unit (e.g., end of month, end of year). This functSTRING
HIGHsuperset/utils/date_parser.py324 Handles "first" time expressions like "first of the month" or "first week of this year". This handler retuSTRING
HIGHsuperset/utils/date_parser.py381 Generates a datetime expression based on a modifier, scope, delta, unit, and relative base. This function hSTRING
HIGHsuperset/utils/date_parser.py426 Generates a datetime expression based on the scope, delta, unit, and relative base. This function handles queriSTRING
HIGHsuperset/utils/hashing.py49 Generate a hash from a string using the configured or specified algorithm. Args: val: String to hash STRING
HIGHsuperset/mcp_service/storage.py40 Create a store instance with the specified prefix. Uses shared MCP_STORE_CONFIG for Redis URL and wrapper typeSTRING
HIGHsuperset/mcp_service/storage.py196 Import a wrapper class from a dotted path. Args: class_path: Dotted path like 'key_value.aSTRING
HIGHsuperset/mcp_service/utils/schema_utils.py78 Parse a value that can be either a JSON string or a native Python object. This function handles the common patSTRING
HIGHsuperset/mcp_service/utils/schema_utils.py139 Parse a value into a list, accepting JSON string, list, or comma-separated string. This function provides maxiSTRING
HIGHsuperset/mcp_service/utils/schema_utils.py211 Parse a value into a Pydantic model, accepting JSON string or dict. Args: value: Input value to parse STRING
HIGHsuperset/mcp_service/utils/schema_utils.py255 Parse a value into a list of Pydantic models, accepting JSON string or list. Args: value: Input value STRING
HIGHsuperset/mcp_service/utils/response_size_utils.py56 Get the size of a response in bytes. Never raises: a response that cannot be serialized measures as ``UNMESTRING
HIGHsuperset/mcp_service/utils/sanitization.py198 Centralized sanitization for user-provided text inputs. Uses nh3 to strip HTML tags and performs additional seSTRING
HIGHsuperset/mcp_service/utils/sanitization.py282 Sanitize filter values which can be strings or other types. For non-string values, returns as-is (no sanitizatSTRING
HIGHsuperset/examples/helpers.py94Normalize example data URLs for consistency. This function ensures that example data URLs are properly formatted. STRING
HIGHsuperset/examples/helpers.py148Load data from local Parquet files. Examples are organized as: superset/examples/{example_name}/data.parqueSTRING
HIGHsuperset-extensions-cli/tests/utils.py106 Load and parse a JSON file. Args: path: Path to the JSON file Returns: Parsed JSON contenSTRING
HIGH…et-extensions-cli/src/superset_extensions_cli/utils.py258 Validate and normalize display name format. Args: display_name: Human-readable extension name RetSTRING
HIGH…et-extensions-cli/src/superset_extensions_cli/utils.py337 Generate all extension name variants from input. Args: display_name: Human-readable name (e.g., "DashbSTRING
Hallucination Indicators10 hits · 105 pts
SeverityFileLineSnippetContext
CRITICALtests/unit_tests/utils/gcs_tests.py59 mock_get_client.return_value.bucket.return_value.blob.assert_called_once_with(CODE
CRITICAL⚡…s/unit_tests/extensions/storage/test_persistent_dao.py492 mock_db.session.query.return_value.filter.return_value.scalar.assert_not_called()CODE
CRITICAL⚡…s/unit_tests/extensions/storage/test_persistent_dao.py509 mock_db.session.query.return_value.filter.return_value.scalar.assert_not_called()CODE
CRITICAL…s/unit_tests/extensions/storage/test_persistent_dao.py435 mock_db.session.query.return_value.filter.return_value.first.assert_not_called()CODE
CRITICALtests/unit_tests/db_engine_specs/test_presto.py1311 mock_db.session.query.return_value.filter_by.assert_called_once_with(STRING
CRITICALtests/unit_tests/commands/report/execute_test.py522 session.query.return_value.filter.return_value.with_for_update.assert_not_called()CODE
CRITICAL…art-point-cluster-map/test/ScatterPlotOverlay.test.tsx418 expect(redrawParams.ctx.fillText.mock.calls.map(call => call[0])).toEqual([CODE
CRITICAL…art-point-cluster-map/test/ScatterPlotOverlay.test.tsx933 redrawParams.ctx.arc.mock.calls.forEach(call => {CODE
CRITICAL.github/workflows/check-db-migration-confict.yml43 const opts = github.rest.pulls.list.endpoint.merge({CODE
CRITICAL.github/workflows/check-db-migration-confict.yml57 const listFilesOpts = await github.rest.pulls.listFiles.endpoint.merge({CODE
AI Slop Vocabulary31 hits · 76 pts
SeverityFileLineSnippetContext
LOW…sts/unit_tests/security/test_guest_token_revocation.py156 # Should simply return without raising when the UUID does not resolve.COMMENT
MEDIUM⚡tests/unit_tests/utils/webdriver_test.py94 """Test comprehensive Playwright availability checking."""STRING
MEDIUM⚡…tegration_tests/tasks/commands/test_internal_update.py263 """Test atomic conditional status transitions with comprehensive scenarios.STRING
MEDIUMtests/integration_tests/dao/base_dao_test.py52# Create a test model for comprehensive testingCOMMENT
LOWtests/integration_tests/charts/commands_tests.py878 # can just pass in chart as wellCOMMENT
MEDIUM…ion_tests/dashboards/soft_delete_fixture_leak_tests.py41 # End any transaction the harness opened earlier: an already-open SQLiteCOMMENT
MEDIUM…frontend/plugins/plugin-chart-table/src/TableChart.tsx1744 // Use a ref to store previous clientViewRows and exportColumns for robust change detectionCOMMENT
MEDIUMsuperset-frontend/src/middleware/realtime.test.ts367 // reconcile the outage rather than treating it as a seamless keepalive.COMMENT
MEDIUMsuperset-frontend/src/middleware/realtime.ts99// token refresh — seamless, so an expensive reconcile isn't warranted).COMMENT
MEDIUMsuperset-frontend/src/middleware/realtime.ts298 // seamless handover), so open-listeners can skip an expensive reconcile.COMMENT
MEDIUMsuperset-frontend/src/middleware/realtime.ts305 // seamless keepalive handoff of a closed socket would cancel that realCOMMENT
MEDIUMsuperset-frontend/src/views/CRUD/hooks.test.tsx741 // A seamless keepalive token refresh must not trigger a full displayed-rowCOMMENT
MEDIUMsuperset-frontend/src/views/CRUD/hooks.ts367 // connect (rows were just fetched) or a seamless `keepalive` token refresh —COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx1797 // Select row by dataset name (row-scoped query is more robust than array index)COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx1869 // Select row by dataset name (row-scoped query is more robust than array index)COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx1945 // Select first virtual dataset by name (row-scoped query is more robust than array index)COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx1991 // Select first physical dataset by name (row-scoped query is more robust than array index)COMMENT
MEDIUM…nd/src/pages/DatasetList/DatasetList.listview.test.tsx2041 // Select first dataset by name (row-scoped query is more robust than array index)COMMENT
MEDIUMsuperset/config.py2180# This is move involved example where depending on the database you can leverage dataCOMMENT
LOWsuperset/tasks/context.py614 # No original error, just use handler failuresCOMMENT
MEDIUM⚡superset/mcp_service/mcp_core.py827 """Tool interface for generating comprehensive instance information."""STRING
MEDIUM⚡superset/mcp_service/mcp_core.py836 """Generate comprehensive instance information."""STRING
MEDIUMsuperset/mcp_service/mcp_core.py981 """Execute schema discovery and return comprehensive schema info."""STRING
LOW…vice/chart/validation/runtime/cardinality_validator.py90 # but that requires DB access - for now just return OKCOMMENT
MEDIUMsuperset/mcp_service/chart/tool/generate_chart.py203 # Run comprehensive validation pipelineCOMMENT
MEDIUMsuperset/mcp_service/chart/tool/get_chart_data.py1036 # Generate comprehensive summary with cache infoCOMMENT
LOWsuperset/db_engine_specs/lint_metadata.py364 # f-strings - just return placeholderCOMMENT
MEDIUMsuperset/commands/dataset/importers/v1/utils.py394 # a hidden contract; the explicit flush makes it robust. The lookupCOMMENT
MEDIUMsuperset/commands/chart/importers/v1/utils.py130 # contract; the explicit flush makes it robust. The lookup thenCOMMENT
MEDIUMsuperset/commands/dashboard/importers/v1/utils.py391 # hidden contract; the explicit flush makes it robust. The lookupCOMMENT
MEDIUMsuperset/views/redirect.py65 # Block dangerous schemes using urlparse for robust detectionCOMMENT
AI Structural Patterns45 hits · 37 pts
SeverityFileLineSnippetContext
LOWsuperset-core/src/superset_core/mcp/decorators.py51CODE
LOW…sts/unit_tests/charts/test_dashboard_filter_context.py69CODE
LOW…tests/mcp_service/database/tool/test_database_tools.py65CODE
LOW…mcp_service/saved_query/tool/test_saved_query_tools.py78CODE
LOW…ts/unit_tests/mcp_service/task/tool/test_task_tools.py35CODE
LOW…nit_tests/mcp_service/report/tool/test_report_tools.py34CODE
LOW…/unit_tests/mcp_service/query/tool/test_query_tools.py72CODE
LOWtests/unit_tests/daos/test_tasks.py39CODE
LOWtests/integration_tests/base_tests.py479CODE
LOWtests/integration_tests/base_tests.py654CODE
LOWtests/integration_tests/base_tests.py726CODE
LOWtests/integration_tests/insert_chart_mixin.py31CODE
LOWtests/integration_tests/datasets/api_tests.py115CODE
LOWtests/integration_tests/queries/api_tests.py43CODE
LOW…/integration_tests/dashboards/superset_factory_util.py49CODE
LOW…/integration_tests/dashboards/superset_factory_util.py75CODE
LOWtests/integration_tests/reports/utils.py67CODE
LOWtests/integration_tests/reports/utils.py140CODE
LOWsuperset/core/mcp/core_mcp_injection.py145CODE
LOWsuperset/coordination/cache_backend.py188CODE
LOWsuperset/coordination/cache_backend.py267CODE
LOWsuperset/security/manager.py4959CODE
LOWsuperset/charts/client_processing.py482CODE
LOWsuperset/charts/data/api.py641CODE
LOWsuperset/utils/cache_manager.py94CODE
LOWsuperset/utils/cache_manager.py118CODE
LOWsuperset/utils/core.py938CODE
LOWsuperset/utils/dashboard_import_export.py33CODE
LOWsuperset/utils/json.py188CODE
LOWsuperset/utils/pandas_postprocessing/pivot.py235CODE
LOWsuperset/models/helpers.py1598CODE
LOWsuperset/models/helpers.py4739CODE
LOWsuperset/mcp_service/mcp_core.py364CODE
LOWsuperset/mcp_service/app.py675CODE
LOWsuperset/mcp_service/app.py1049CODE
LOWsuperset/mcp_service/chart/tool/get_chart_data.py1432CODE
LOWsuperset/mcp_service/chart/tool/get_chart_data.py1694CODE
LOWsuperset/mcp_service/chart/tool/get_chart_data.py1728CODE
LOWsuperset/common/query_object_factory.py52CODE
LOWsuperset/common/tabular_query.py326CODE
LOWsuperset/common/query_object.py125CODE
LOWsuperset/common/query_context_factory.py48CODE
LOWsuperset/common/utils/query_cache_manager.py55CODE
LOWsuperset/db_engine_specs/presto.py428CODE
LOWsuperset/daos/base.py875CODE
Modern AI Meta-Vocabulary11 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMsuperset-core/src/superset_core/mcp/decorators.py61) -> Any: # Use Any to avoid mypy issues with dependency injectionCODE
MEDIUMsuperset-core/src/superset_core/mcp/decorators.py138) -> Any: # Use Any to avoid mypy issues with dependency injectionCODE
MEDIUMCHANGELOG/6.1.0.md191- [#35163](https://github.com/apache/superset/pull/35163) feat(mcp): PR1 - Add MCP service scaffold for Apache Superset CODE
MEDIUMCHANGELOG/6.1.0.md191- [#35163](https://github.com/apache/superset/pull/35163) feat(mcp): PR1 - Add MCP service scaffold for Apache Superset CODE
MEDIUMCHANGELOG/6.1.0.md439- [#38391](https://github.com/apache/superset/pull/38391) fix(mcp): add guardrails to prevent LLM artifact generation (@CODE
MEDIUMCHANGELOG/6.1.0.md439- [#38391](https://github.com/apache/superset/pull/38391) fix(mcp): add guardrails to prevent LLM artifact generation (@CODE
MEDIUMCHANGELOG/6.1.0.md732- [#38472](https://github.com/apache/superset/pull/38472) docs(extensions): fix extension developer documentation and CLCODE
MEDIUMtests/unit_tests/tasks/test_manager.py19Since PR #43316, the pub/sub-wake-else-poll orchestration lives inSTRING
MEDIUMsuperset/tasks/schemas.py150 # The internal ``private`` bucket (framework orchestration + error debug +COMMENT
MEDIUMsuperset/mcp_service/app.py772# Initialize MCP dependency injection BEFORE importing tools/prompts.COMMENT
MEDIUMsuperset/commands/tasks/reap.py95 # the existing private subtree so the framework orchestration handles andCOMMENT
Slop Phrases11 hits · 18 pts
SeverityFileLineSnippetContext
LOW⚡docker-compose-image-tag.yml20# If you choose to use this type of deployment make sure toCOMMENT
LOW⚡docker-compose-non-dev.yml20# If you choose to use this type of deployment make sure toCOMMENT
LOW⚡docker-compose.yml20# If you choose to use this type of deployment make sure toCOMMENT
LOWtests/integration_tests/reports/utils.py255 # make sure to clean up in case of yield exceptionsCOMMENT
MEDIUMsuperset/config.py92# Note that you can use `StdOutEventLogger` for debuggingCOMMENT
MEDIUMsuperset/config.py293# Note that you can use this to set the isolation level of your database, as inCOMMENT
MEDIUMsuperset/config.py616# for adding your own map tiles, you can use the following format:COMMENT
LOWsuperset/config.py219# You should also make sure to configure your WSGI serverCOMMENT
LOWsuperset/constants.py18# ATTENTION: If you change any constants, make sure to also change utils/common.jsCOMMENT
LOWsuperset/utils/pandas_postprocessing/utils.py256 # make sure to return a new DataFrame instead of changing the `base_df`.COMMENT
LOWhelm/superset/values.yaml1140 # Make sure you are giving a strong password for the admin user creation( else make sure you are changing after setup)COMMENT
Dead Code7 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUMtests/integration_tests/dashboards/api_tests.py5709CODE
MEDIUMtests/integration_tests/dashboards/api_tests.py5836CODE
MEDIUMtests/integration_tests/dashboards/api_tests.py5886CODE
MEDIUMtests/integration_tests/dashboards/api_tests.py6070CODE
MEDIUMtests/integration_tests/dashboards/api_tests.py6116CODE
MEDIUMtests/integration_tests/dashboards/api_tests.py6169CODE
MEDIUMtests/integration_tests/dashboards/api_tests.py6211CODE
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHsuperset/mcp_service/jwt_verifier.py192 ' "Authorization": "Bearer <your-api-key>"\n'CODE
HIGHsuperset/mcp_service/jwt_verifier.py228 "and <code>&lt;your-api-key&gt;</code> with a valid API key or JWT token."CODE
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdocs/developer_docs/contributing/howtos.md413translations](#applying-translations) above), so an AI-generated string is shownCODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOW⚡scripts/docker-compose-up.sh27# Usage:COMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsuperset/tasks/scheduler.py396def execute_task(CODE