LLM-Driven Extraction of Unstructured Data — Built for API Deployments & ETL Pipeline Workflows
This report summarizes scanner evidence for Zipstack/unstract, a Python project with 7,278 GitHub stars. SynthScan examined 390,530 lines of code across 2317 source files, recording 8553 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 29.5 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 5757 finding(s).
Are imports declared and package/API names verified? 618 finding(s).
Are wrappers, guards, and repeated structures necessary? 6904 finding(s).
Which changes need focused human review? 8553 finding(s).
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.
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.
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.
The scanner identified 8553 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/classifier/src/helper.py | 54 | def copy_source_to_output_bin( | CODE |
| LOW | …end/src/components/ui/shims/shim-completeness.test.jsx | 50 | function collectSubComponentUsages() { | CODE |
| LOW | …d/src/components/custom-tools/pdf-viewer/PdfViewer.jsx | 89 | function removeZerosAndDeleteIfAllZero(highlightData) { | CODE |
| LOW | …logs-and-notifications/DisplayLogsAndNotifications.jsx | 12 | export function DisplayLogsAndNotifications() { | CODE |
| LOW | …s/logs-and-notifications/LogsAndNotificationsTable.jsx | 10 | function LogsAndNotificationsTable({ errorCount, setErrorCount, isMinimized }) { | CODE |
| LOW | …src/components/input-output/file-system/FileSystem.jsx | 72 | function getAndUpdateFiles(path) { | CODE |
| LOW | …deployments/api-deployment/ApiDeploymentCardConfig.jsx | 32 | function createApiDeploymentCardConfig({ | CODE |
| LOW | frontend/src/pages/UnstractAdministrationPage.jsx | 16 | function UnstractAdministrationPage() { | CODE |
| LOW | frontend/src/pages/GlobalApiDeploymentKeysPage.jsx | 3 | function GlobalApiDeploymentKeysPage() { | CODE |
| LOW⚡ | runner/tests/test_sidecar_log_transport.py | 53 | def test_defaults_to_celery_when_unset(self, sidecar_env, monkeypatch): | CODE |
| LOW⚡ | runner/tests/test_sidecar_log_transport.py | 60 | def test_forwards_an_explicit_celery_transport(self, sidecar_env): | CODE |
| LOW⚡ | runner/tests/test_sidecar_log_transport.py | 64 | def test_forwards_redis_transport_to_the_sidecar(self, sidecar_env): | CODE |
| LOW⚡ | runner/tests/test_sidecar_log_transport.py | 68 | def test_forwards_the_stream_queue_name(self, sidecar_env): | CODE |
| LOW⚡ | runner/tests/test_sidecar_log_transport.py | 74 | def test_redis_credentials_are_already_present(self, sidecar_env): | CODE |
| LOW | runner/tests/test_sidecar_log_transport.py | 85 | def test_celery_broker_still_forwarded_for_the_flag_off_path(self, sidecar_env): | CODE |
| LOW | runner/tests/test_sidecar_log_transport.py | 96 | def test_unset_celery_broker_is_not_forwarded(self, sidecar_env, monkeypatch): | CODE |
| LOW | runner/tests/test_sidecar_log_transport.py | 123 | def test_tls_settings_are_forwarded(self, sidecar_env): | CODE |
| LOW | runner/tests/test_sidecar_log_transport.py | 145 | def test_unset_values_are_omitted_entirely(self, sidecar_env, monkeypatch): | CODE |
| LOW | runner/tests/test_sidecar_log_transport.py | 170 | def test_plaintext_deployment_is_unchanged(self, sidecar_env, monkeypatch): | CODE |
| LOW | runner/src/unstract/runner/runner.py | 217 | def _get_sidecar_container_config( | CODE |
| LOW | runner/src/unstract/runner/runner.py | 376 | def _handle_tool_execution_status( | CODE |
| LOW | runner/src/unstract/runner/utils.py | 108 | def get_sidecar_container_name(container_name: str) -> str: | CODE |
| LOW | runner/src/unstract/runner/clients/interface.py | 59 | def run_container_with_sidecar( | CODE |
| LOW | runner/src/unstract/runner/clients/docker_client.py | 299 | def run_container_with_sidecar( | CODE |
| LOW | runner/src/unstract/runner/clients/test_docker.py | 37 | def docker_client_with_sidecar(mocker): | CODE |
| LOW | runner/src/unstract/runner/clients/test_docker.py | 132 | def test_get_container_run_config(docker_client, mocker): | CODE |
| LOW | runner/src/unstract/runner/clients/test_docker.py | 163 | def test_get_container_run_config_without_mount(docker_client, mocker): | CODE |
| LOW | runner/src/unstract/runner/clients/test_docker.py | 216 | def test_get_image_for_sidecar(docker_client_with_sidecar, mocker): | CODE |
| LOW | tests/rig/groups.py | 314 | def _validate_dep_targets_exist(groups: dict[str, GroupDefinition]) -> None: | CODE |
| LOW | tests/rig/groups.py | 335 | def _validate_platform_groups_depend_on_gate( | CODE |
| LOW | tests/rig/critical_paths.py | 112 | def validate_registry_against_manifest( | CODE |
| LOW | tests/rig/cli.py | 788 | def _db_env_from_postgres_url(url: str) -> dict[str, str]: | CODE |
| LOW | tests/rig/cli.py | 848 | def _coverage_attesting_groups(results: list[GroupResult]) -> set[str]: | CODE |
| LOW | tests/rig/cli.py | 1059 | def _write_synthetic_junit_safe(path: Path, group_name: str, exit_code: int) -> None: | CODE |
| LOW | tests/rig/cli.py | 1097 | def _resolve_pytest_configfile(workdir: Path) -> Path | None: | CODE |
| LOW | tests/rig/selection.py | 84 | def _groups_for_changed_paths(manifest: GroupManifest, *, base: str) -> set[str]: | CODE |
| LOW | tests/rig/pytest_plugin/rig_critical_path.py | 25 | def pytest_collection_modifyitems(items): | CODE |
| LOW | tests/rig/tests/test_coverage.py | 47 | def test_combine_preserves_prior_tier_data(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_coverage.py | 78 | def test_combine_unions_same_file_across_tiers(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_coverage.py | 95 | def test_combine_no_files_is_noop(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_coverage.py | 107 | def test_combine_idempotent_with_only_prior_data(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_coverage.py | 128 | def test_combine_swallows_rename_oserror( | CODE |
| LOW | tests/rig/tests/test_reporting.py | 16 | def test_parse_testsuites_wrapper_sums_across_suites(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_reporting.py | 38 | def test_parse_single_testsuite_root(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_reporting.py | 69 | def test_missing_counters_flagged_as_error(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_reporting.py | 84 | def test_malformed_xml_returns_error_result(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_reporting.py | 91 | def test_missing_junit_returns_none(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_reporting.py | 100 | def test_status_icon_round_trips() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_reporting.py | 109 | def test_blocked_result_is_never_green() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_reporting.py | 117 | def test_blocked_result_rejects_nonzero_counters() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_reporting.py | 124 | def test_blocked_junit_round_trips_through_parse(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_reporting.py | 140 | def test_passed_critical_path_ids_collects_only_passing_marked_tests( | CODE |
| LOW | tests/rig/tests/test_reporting.py | 172 | def test_passed_critical_path_ids_missing_or_malformed_junit(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_runtime.py | 18 | def test_infra_endpoints_rejects_partial_redis_pair() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_runtime.py | 28 | def test_infra_endpoints_rejects_partial_rabbitmq_pair() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_runtime.py | 35 | def test_infra_endpoints_allows_fully_specified_pairs() -> None: | CODE |
| LOW | tests/rig/tests/test_runtime.py | 47 | def test_infra_endpoints_allows_all_none() -> None: | CODE |
| LOW | tests/rig/tests/test_runtime.py | 52 | def test_platform_endpoints_from_env_uses_defaults(monkeypatch) -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_runtime.py | 76 | def test_extra_compose_files_empty_when_unset(monkeypatch) -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_runtime.py | 81 | def test_extra_compose_files_reads_existing_paths(monkeypatch, tmp_path) -> None: | CODE |
| 4628 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tox.ini | 81 | # ── Legacy aliases ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/groups.yaml | 48 | # ── Unit tier: pure pytest, no external services ─────────────────────────── | COMMENT |
| MEDIUM | tests/groups.yaml | 155 | # ── Integration tier: needs infra but not full platform ──────────────────── | COMMENT |
| MEDIUM | tests/groups.yaml | 201 | # ── E2E tier: real HTTP against running platform ─────────────────────────── | COMMENT |
| MEDIUM | tests/rig/cli.py | 226 | # ── subcommands ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/rig/cli.py | 770 | # ── execution helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/rig/tests/test_runtime.py | 70 | # ── Injection seams: extra compose overlays + pluggable login provider ─────── | COMMENT |
| MEDIUM⚡ | .claude/skills/worktree/worktree-setup.sh | 105 | # ============================================================ | COMMENT |
| MEDIUM⚡ | .claude/skills/worktree/worktree-setup.sh | 107 | # ============================================================ | COMMENT |
| MEDIUM⚡ | .claude/skills/worktree/worktree-setup.sh | 158 | # ============================================================ | COMMENT |
| MEDIUM⚡ | .claude/skills/worktree/worktree-setup.sh | 160 | # ============================================================ | COMMENT |
| MEDIUM⚡ | backend/workflow_manager/workflow_v2/views.py | 657 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | backend/workflow_manager/workflow_v2/views.py | 659 | # ============================================================================= | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/views.py | 394 | # ============================================================================= | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/views.py | 396 | # ============================================================================= | COMMENT |
| MEDIUM | backend/tenant_account_v2/sharing_helpers.py | 355 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/tenant_account_v2/sharing_helpers.py | 357 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/scheduler/tasks.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/scheduler/tasks.py | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/backend/internal_base_urls.py | 185 | # ======================================== | COMMENT |
| MEDIUM | backend/backend/internal_base_urls.py | 187 | # ======================================== | COMMENT |
| MEDIUM | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 534 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 536 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | backend/usage_v2/tests/test_helper.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/usage_v2/tests/test_helper.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/usage_v2/tests/test_helper.py | 89 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | backend/usage_v2/tests/test_helper.py | 91 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/dashboard_metrics/cache.py | 133 | # ============================================================================= | COMMENT |
| MEDIUM | backend/dashboard_metrics/cache.py | 135 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker.sh | 2 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker.sh | 4 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 2 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 4 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 377 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 379 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 494 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 496 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 604 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 606 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 679 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 681 | # ============================================================================= | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 51 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 54 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 107 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 109 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 271 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 273 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 656 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 658 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_line_item_extraction.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_line_item_extraction.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_line_item_extraction.py | 132 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_line_item_extraction.py | 134 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workers/tests/test_line_item_extraction.py | 173 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workers/tests/test_line_item_extraction.py | 175 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workers/tests/test_line_item_extraction.py | 200 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workers/tests/test_line_item_extraction.py | 202 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workers/tests/test_line_item_extraction.py | 293 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workers/tests/test_line_item_extraction.py | 295 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_line_item_extraction.py | 330 | # --------------------------------------------------------------------------- | COMMENT |
| 314 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/text_extractor/src/main.py | 89 | except Exception as e: | CODE |
| LOW | tools/classifier/src/helper.py | 76 | except Exception as e: | CODE |
| LOW | tools/classifier/src/helper.py | 103 | except Exception as e: | CODE |
| LOW | tools/classifier/src/helper.py | 152 | except Exception as e: | CODE |
| LOW | tools/classifier/src/helper.py | 169 | except Exception as e: | CODE |
| LOW | tools/classifier/src/helper.py | 216 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/runner.py | 211 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/runner.py | 330 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/runner.py | 414 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/runner.py | 548 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/runner.py | 604 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/clients/docker_client.py | 59 | except Exception as remove_error: | CODE |
| LOW | runner/src/unstract/runner/clients/docker_client.py | 122 | except Exception as exc: | CODE |
| LOW | runner/src/unstract/runner/clients/docker_client.py | 156 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/clients/docker_client.py | 360 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/clients/docker_client.py | 386 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/clients/docker_client.py | 403 | except Exception as e: | CODE |
| LOW | tests/rig/runtime.py | 370 | except Exception: | CODE |
| LOW | tests/rig/runtime.py | 382 | except Exception as exc: | CODE |
| MEDIUM | tests/rig/runtime.py | 237 | def _remove_project_volumes(self) -> None: | CODE |
| LOW | tests/rig/cli.py | 328 | except Exception: | CODE |
| LOW | tests/rig/cli.py | 664 | except Exception as exc: | CODE |
| LOW | tests/e2e/etl/conftest.py | 81 | except Exception as exc: # noqa: BLE001 - narrow verdict below | CODE |
| LOW | …/skills/connector-ops/references/connector_patterns.md | 140 | except Exception as e: | CODE |
| LOW | …/skills/connector-ops/references/connector_patterns.md | 237 | except Exception: | CODE |
| MEDIUM | …/skills/connector-ops/references/connector_patterns.md | 122 | def test_credentials(self) -> bool: | CODE |
| MEDIUM | …/skills/connector-ops/references/connector_patterns.md | 233 | def exists(self, path, **kwargs): | CODE |
| LOW⚡ | …laude/skills/connector-ops/scripts/verify_connector.py | 134 | except Exception as e: | CODE |
| LOW⚡ | …laude/skills/connector-ops/scripts/verify_connector.py | 137 | except Exception as e: | CODE |
| LOW | …laude/skills/connector-ops/scripts/verify_connector.py | 172 | except Exception as e: | CODE |
| LOW | .claude/skills/adapter-ops/SKILL.md | 332 | except Exception as e: | CODE |
| LOW | …aude/skills/adapter-ops/references/adapter_patterns.md | 631 | except Exception: | CODE |
| LOW | …e/skills/adapter-ops/scripts/init_embedding_adapter.py | 337 | except Exception as e: | STRING |
| LOW | …e/skills/adapter-ops/scripts/init_embedding_adapter.py | 411 | except Exception: | STRING |
| MEDIUM | .claude/skills/adapter-ops/scripts/manage_models.py | 208 | print(f"Error: Schema file not found: {schema_path}") | CODE |
| MEDIUM⚡ | .claude/skills/adapter-ops/scripts/manage_models.py | 231 | print("Error: --models required for add-enum action") | CODE |
| MEDIUM⚡ | .claude/skills/adapter-ops/scripts/manage_models.py | 239 | print("Error: --models required for remove-enum action") | CODE |
| MEDIUM⚡ | .claude/skills/adapter-ops/scripts/manage_models.py | 247 | print("Error: --models required for set-default action (single model)") | CODE |
| MEDIUM⚡ | .claude/skills/adapter-ops/scripts/manage_models.py | 255 | print("Error: --description required for update-description action") | CODE |
| LOW | .claude/skills/adapter-ops/scripts/init_llm_adapter.py | 347 | except Exception as e: | STRING |
| LOW | .claude/skills/adapter-ops/scripts/init_llm_adapter.py | 421 | except Exception: | STRING |
| LOW | .claude/skills/csp-check/scripts/scan_origins.py | 120 | except Exception: # noqa: BLE001 - retry, then let the caller record it | CODE |
| LOW | .claude/skills/csp-check/scripts/scan_origins.py | 134 | except Exception as exc: # noqa: BLE001 - report it as an incomplete scan, not a traceback | CODE |
| LOW | .claude/skills/csp-check/scripts/scan_origins.py | 168 | except Exception as exc: # noqa: BLE001 - keep scanning, but record the gap | CODE |
| LOW | backend/workflow_manager/internal_serializers.py | 80 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 89 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 148 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 182 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 222 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 259 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 336 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 376 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 103 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 171 | except Exception: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 196 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 299 | except Exception as source_error: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 326 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 419 | except Exception as endpoint_error: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 450 | except Exception as source_error: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 479 | except Exception as e: | CODE |
| 1085 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/text_extractor/src/main.py | 32 | Run the text extraction process. Args: settings (dict[str, Any]): The settings for the tool. | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/queue_utils.py | 78 | Get HITL-specific queue connector instance with dynamic imports. This method uses dynamic imports to avoid hard | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/queue_utils.py | 137 | Get HITL connector class from registry (lazy-loaded to avoid circular imports). Args: connector_nam | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/destination.py | 1118 | Read and encode file content for queue message. Args: input_file_path: Path to the file to read | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/base_connector.py | 33 | Get an fsspec file system based on the specified connector. Parameters: - settings (dict): Connector-sp | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/base_connector.py | 68 | Load and return a JSON schema from the specified file path. Parameters: - file_path (str): The path to | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/database_utils.py | 46 | Function to return connector db column and types by calling connector table information schema. Args: | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/database_utils.py | 314 | Migrate table to v2 by adding _v2 columns. Args: db_class (UnstractDB): DB Connection class | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/source.py | 967 | Add input file to execution directory. Args: file_hash (FileHash): The file hash object. R | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/source.py | 1113 | Add input file to execution directory. Args: workflow_file_execution: WorkflowFileExecution model | STRING |
| HIGH | backend/workflow_manager/endpoint_v2/source.py | 1168 | Load file contnt and file name based on the file path. Args: input_file_path (str): source file | STRING |
| HIGH | backend/workflow_manager/workflow_v2/workflow_helper.py | 404 | Get celery task status. Args: execution_id (str): workflow execution id Raises: | STRING |
| HIGH | backend/workflow_manager/workflow_v2/workflow_helper.py | 1203 | Validates the given args for reading the JSON schema. Schema type of `src`, allows entities `file` and `api` | STRING |
| HIGH | backend/workflow_manager/workflow_v2/execution.py | 346 | Initiates the execution of a tool for a specific file in the workflow. Args: current_file_i | STRING |
| HIGH | …end/workflow_manager/workflow_v2/file_history_views.py | 39 | Validate execution count parameter is a non-negative integer. Args: value: The value to validate | STRING |
| HIGH | backend/workflow_manager/workflow_v2/views.py | 227 | Retrieve workflow by workflow id. Args: workflow_id (Optional[str], optional): workflow Id. | STRING |
| HIGH | backend/configuration/config_registry.py | 142 | Cast a raw value to the appropriate type for a config key. Args: key_name: Name of the configuratio | STRING |
| HIGH | backend/utils/organization_utils.py | 17 | Resolve organization by either organization.id (int) or organization.organization_id (string). Args: org_id | STRING |
| HIGH | backend/utils/date/processor.py | 34 | Converts various datetime string formats to ISO 8601 format. Args: date_input: A string representin | STRING |
| HIGH | backend/utils/date/processor.py | 58 | Parses and converts date parameters to datetime objects. Args: date_param: Date parameter that can | STRING |
| HIGH | backend/utils/date/processor.py | 82 | Processes and validates start and end dates with smart defaults. Logic: 1. If no end_date: use current | STRING |
| HIGH | backend/pipeline_v2/serializers/crud.py | 204 | Validate the cron string provided in the serializer data. This method is called internally by the serializer to | STRING |
| HIGH | backend/platform_settings_v2/platform_auth_service.py | 34 | Method to support generation of new platform key. Throws error when maximum count is exceeded. Forbids for user | STRING |
| HIGH | backend/api_v2/serializers.py | 410 | Validate presigned URL for security and compatibility. Args: url (str): The presigned URL to valida | STRING |
| HIGH | backend/api_v2/api_key_validator.py | 25 | Wrapper to validate the inputs and key. Args: request (Request): Request context | STRING |
| HIGH | backend/api_v2/key_helper.py | 71 | Validate a Global API Deployment Key for deployment execution. Checks: 1. Key exists and is active | STRING |
| HIGH | backend/api_v2/deployment_helper.py | 80 | Validate API deployment and API key. Tries deployment-specific key first. If that fails, falls back to | STRING |
| HIGH | backend/api_v2/deployment_helper.py | 561 | Fetch a file from a presigned URL and convert it to an uploaded file. Args: url (str): The presigne | STRING |
| HIGH | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 1760 | Execute chain/single run of the prompts. Makes a call to prompt service and returns the dict of response. | STRING |
| HIGH | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 2096 | Utility function to invoke prompt service. Used internally. Args: tool (CustomTool): CustomTool ins | STRING |
| HIGH | backend/prompt_studio/prompt_studio_core_v2/views.py | 433 | API Entry point method to index input file. Builds the full execution payload (ORM work), then fires a | STRING |
| HIGH | …pt_studio_registry_v2/prompt_studio_registry_helper.py | 231 | Updates or creates the PromptStudioRegistry record. This appears as a separate tool in the workflow and is mapp | STRING |
| HIGH | backend/connector_processor/connector_processor.py | 175 | Validate the connector mode. Parameters: - connector_mode (str): The connector mode to validate. | STRING |
| HIGH | backend/usage_v2/helper.py | 56 | Retrieve aggregated token counts for the given run_id. Args: run_id (str): The identifier for the t | STRING |
| HIGH | backend/connector_auth_v2/pipeline/common.py | 17 | Checks if user is authenticated (will be handled in auth middleware, present as a fail safe) Args: user | STRING |
| HIGH | backend/adapter_processor_v2/adapter_processor.py | 99 | Generic Function to get adapter data with provided key. Args: adapter_id: The SDK identifier for th | STRING |
| HIGH | backend/adapter_processor_v2/adapter_processor.py | 287 | Get the adapter instance by its name and type. Parameters: - adapter_name (str): The name of the adapte | STRING |
| HIGH | backend/account_v2/authentication_service.py | 42 | Authenticate and log in a user. Args: request (Request): The HTTP request object. Returns: | STRING |
| HIGH | backend/account_v2/authentication_service.py | 125 | Validate the login credentials. Args: request (Request): The HTTP request object. Returns: | STRING |
| HIGH | backend/dashboard_metrics/tasks.py | 582 | Aggregate source tables into the hourly, daily and monthly tiers. Three schedules call this: the hourly tier every | STRING |
| HIGH | workers/notification/tasks.py | 84 | Universal notification processor. This task routes notifications to the appropriate provider based on type. It | STRING |
| HIGH | workers/notification/tasks.py | 252 | Backward compatible webhook notification task. This task maintains 100% compatibility with the existing backend | STRING |
| HIGH | workers/notification/providers/base_provider.py | 30 | Send notification using this provider. Args: notification_data: Dictionary containing all necessary | STRING |
| HIGH | workers/notification/providers/base_provider.py | 53 | Validate notification data before attempting to send. Args: notification_data: Dictionary containin | STRING |
| HIGH | workers/notification/providers/webhook_provider.py | 40 | Validate webhook notification data. Args: notification_data: Webhook notification data containing: | STRING |
| HIGH | workers/notification/providers/webhook_provider.py | 88 | Send webhook notification. This method replicates the exact behavior of the current backend send_webhoo | STRING |
| HIGH | workers/notification/providers/registry.py | 41 | Get notification provider class based on type and platform. Args: notification_type: Type of notification ( | STRING |
| HIGH | workers/notification/providers/registry.py | 72 | Create and instantiate a notification provider. Args: notification_type: Type of notification platf | STRING |
| HIGH | workers/notification/providers/registry.py | 89 | Create provider instance from notification configuration. Args: notification_config: Notification config fr | STRING |
| HIGH | workers/file_processing/tasks.py | 439 | Validate and parse input data into typed dataclass. Args: file_batch_data: Raw input dictionary Return | STRING |
| HIGH | workers/file_processing/tasks.py | 474 | Setup execution context with validation and API client initialization. Args: batch_data: Validated batch da | STRING |
| HIGH | workers/shared/worker_builder.py | 37 | Build a configured Celery app for the specified worker type. Args: worker_type: Type of worker to b | STRING |
| HIGH | workers/shared/worker_registry.py | 197 | Get queue configuration for a worker type. Args: worker_type: Type of worker Returns: | STRING |
| HIGH | workers/shared/worker_registry.py | 214 | Get task routing configuration for a worker type. Args: worker_type: Type of worker Return | STRING |
| HIGH | workers/shared/clients/base_client.py | 248 | Enhanced HTTP request with robust error handling and retry logic. Args: method: HTTP method (GET, P | STRING |
| HIGH | workers/shared/clients/file_client.py | 625 | Get file history using flexible parameters (cache_key OR provider_file_uuid). Args: workflow_id: Wo | STRING |
| HIGH | workers/shared/clients/file_client.py | 662 | Get file history for multiple files in a single batch operation. Args: workflow_id: Workflow ID | STRING |
| HIGH | workers/shared/cache/cache_types.py | 107 | Validate and convert string to CacheType enum. Args: cache_type: String representation of cache type R | STRING |
| HIGH | workers/shared/patterns/retry/backoff.py | 299 | Execute function with smart retry logic. Args: func: Function to execute operation_id: | STRING |
| HIGH | workers/shared/patterns/retry/utils.py | 70 | Execute function with retry logic. Args: func: Function to execute *args: Function argu | STRING |
| 65 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | runner/tests/test_sidecar_log_transport.py | 15 | CODE | |
| LOW | runner/src/unstract/runner/__init__.py | 9 | CODE | |
| LOW | runner/src/unstract/runner/clients/interface.py | 1 | CODE | |
| LOW | tests/conftest.py | 7 | CODE | |
| LOW | tests/rig/__init__.py | 7 | CODE | |
| LOW | tests/rig/__init__.py | 7 | CODE | |
| LOW | tests/rig/__init__.py | 7 | CODE | |
| LOW | tests/rig/__init__.py | 12 | CODE | |
| LOW | tests/rig/__init__.py | 12 | CODE | |
| LOW | tests/rig/__init__.py | 12 | CODE | |
| LOW | tests/rig/coverage.py | 8 | CODE | |
| LOW | tests/rig/groups.py | 9 | CODE | |
| LOW | tests/rig/runtime.py | 19 | CODE | |
| LOW | tests/rig/critical_paths.py | 3 | CODE | |
| LOW | tests/rig/cli.py | 13 | CODE | |
| LOW | tests/rig/selection.py | 15 | CODE | |
| LOW | tests/rig/reporting.py | 15 | CODE | |
| LOW | tests/rig/tests/test_coverage.py | 12 | CODE | |
| LOW | tests/rig/tests/test_reporting.py | 3 | CODE | |
| LOW | tests/rig/tests/test_runtime.py | 8 | CODE | |
| LOW | tests/rig/tests/test_critical_paths.py | 3 | CODE | |
| LOW | tests/rig/tests/test_selection.py | 3 | CODE | |
| LOW | tests/rig/tests/test_cli.py | 15 | CODE | |
| LOW | tests/rig/tests/test_groups.py | 3 | CODE | |
| LOW | tests/e2e/conftest.py | 9 | CODE | |
| LOW | tests/e2e/smoke/test_smoke.py | 8 | CODE | |
| LOW | tests/e2e/coowners/test_coowner_management.py | 13 | CODE | |
| LOW | tests/e2e/auth/test_login.py | 7 | CODE | |
| LOW | tests/e2e/etl/conftest.py | 8 | CODE | |
| LOW | tests/e2e/etl/test_pipeline_etl_execute.py | 8 | CODE | |
| LOW | tests/e2e/workflows/test_workflow_execute.py | 12 | CODE | |
| LOW | tests/e2e/api_deployment/conftest.py | 3 | CODE | |
| LOW | tests/e2e/api_deployment/test_api_deployment_run.py | 8 | CODE | |
| LOW | tests/e2e/api_deployment/test_api_deployment_async.py | 9 | CODE | |
| LOW | tests/e2e/api_deployment/test_api_deployment_fan_out.py | 14 | CODE | |
| LOW | …e2e/prompt_studio/test_prompt_studio_fetch_response.py | 8 | CODE | |
| LOW | …er/file_execution/tests/test_index_migration_guards.py | 20 | CODE | |
| LOW | …er/file_execution/tests/test_wfe_status_created_idx.py | 16 | CODE | |
| LOW | …execution/tests/test_wfe_status_created_idx_planner.py | 28 | CODE | |
| LOW | …kend/workflow_manager/execution/serializer/__init__.py | 1 | CODE | |
| LOW | …w_manager/execution/tests/test_execution_serializer.py | 14 | CODE | |
| LOW | backend/workflow_manager/execution/views/__init__.py | 1 | CODE | |
| LOW | …er/endpoint_v2/tests/test_queue_result_execution_id.py | 10 | CODE | |
| LOW | backend/workflow_manager/endpoint_v2/tests/__init__.py | 1 | CODE | |
| LOW | …ager/endpoint_v2/tests/test_database_utils/__init__.py | 1 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/enums.py | 1 | CODE | |
| LOW | …end/workflow_manager/workflow_v2/undispatched_sweep.py | 41 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/dto.py | 1 | CODE | |
| LOW | …ckend/workflow_manager/workflow_v2/filters/__init__.py | 1 | CODE | |
| LOW | …nager/workflow_v2/tests/test_active_execution_index.py | 12 | CODE | |
| LOW | …workflow_v2/tests/test_undispatched_execution_index.py | 17 | CODE | |
| LOW | …flow_manager/workflow_v2/tests/test_workflow_author.py | 11 | CODE | |
| LOW | …w_manager/workflow_v2/tests/test_undispatched_sweep.py | 13 | CODE | |
| LOW | …ow_manager/workflow_v2/tests/test_we_created_at_idx.py | 13 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/models/__init__.py | 4 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/models/__init__.py | 5 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/models/__init__.py | 6 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/models/__init__.py | 7 | CODE | |
| LOW | backend/tests_common/source_extraction.py | 29 | CODE | |
| LOW | backend/tests_common/test_route_wiring.py | 24 | CODE | |
| 519 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …tion-connectors/test_destination_connector_bigquery.py | 0 | verify that all expected columns exist in the table with correct types. | STRING |
| HIGH | …ation-connectors/test_destination_connector_mariadb.py | 0 | verify that all expected columns exist in the table with correct types. | STRING |
| HIGH | …ination-connectors/test_destination_connector_mysql.py | 0 | verify that all expected columns exist in the table with correct types. | STRING |
| HIGH | …tion-connectors/test_destination_connector_postgres.py | 0 | verify that all expected columns exist in the table with correct types. | STRING |
| HIGH | …tion-connectors/test_destination_connector_bigquery.py | 0 | create a mock endpoint with real database configuration. | STRING |
| HIGH | …ation-connectors/test_destination_connector_mariadb.py | 0 | create a mock endpoint with real database configuration. | STRING |
| HIGH | …ion-connectors/test_destination_connector_snowflake.py | 0 | create a mock endpoint with real database configuration. | STRING |
| HIGH | …ination-connectors/test_destination_connector_mssql.py | 0 | create a mock endpoint with real database configuration. | STRING |
| HIGH | …nation-connectors/test_destination_connector_oracle.py | 0 | create a mock endpoint with real database configuration. | STRING |
| HIGH | …tion-connectors/test_destination_connector_redshift.py | 0 | create a mock endpoint with real database configuration. | STRING |
| HIGH | …ination-connectors/test_destination_connector_mysql.py | 0 | create a mock endpoint with real database configuration. | STRING |
| HIGH | …tion-connectors/test_destination_connector_postgres.py | 0 | create a mock endpoint with real database configuration. | STRING |
| HIGH | …tion-connectors/test_destination_connector_bigquery.py | 0 | create a destination connector with mocked django dependencies but real db. | STRING |
| HIGH | …ation-connectors/test_destination_connector_mariadb.py | 0 | create a destination connector with mocked django dependencies but real db. | STRING |
| HIGH | …ion-connectors/test_destination_connector_snowflake.py | 0 | create a destination connector with mocked django dependencies but real db. | STRING |
| HIGH | …ination-connectors/test_destination_connector_mssql.py | 0 | create a destination connector with mocked django dependencies but real db. | STRING |
| HIGH | …nation-connectors/test_destination_connector_oracle.py | 0 | create a destination connector with mocked django dependencies but real db. | STRING |
| HIGH | …tion-connectors/test_destination_connector_redshift.py | 0 | create a destination connector with mocked django dependencies but real db. | STRING |
| HIGH | …ination-connectors/test_destination_connector_mysql.py | 0 | create a destination connector with mocked django dependencies but real db. | STRING |
| HIGH | …tion-connectors/test_destination_connector_postgres.py | 0 | create a destination connector with mocked django dependencies but real db. | STRING |
| HIGH | …ation-connectors/test_destination_connector_mariadb.py | 0 | test that data is properly inserted into all columns with correct values. | STRING |
| HIGH | …ination-connectors/test_destination_connector_mysql.py | 0 | test that data is properly inserted into all columns with correct values. | STRING |
| HIGH | …tion-connectors/test_destination_connector_postgres.py | 0 | test that data is properly inserted into all columns with correct values. | STRING |
| HIGH | …ion-connectors/test_destination_connector_snowflake.py | 0 | verify that the table has expected columns with correct data types. | STRING |
| HIGH | …ination-connectors/test_destination_connector_mssql.py | 0 | verify that the table has expected columns with correct data types. | STRING |
| HIGH | …nation-connectors/test_destination_connector_oracle.py | 0 | verify that the table has expected columns with correct data types. | STRING |
| HIGH | …tion-connectors/test_destination_connector_redshift.py | 0 | verify that the table has expected columns with correct data types. | STRING |
| HIGH | backend/workflow_manager/workflow_v2/views.py | 0 | email users newly added to ``shared_users`` (best-effort). | STRING |
| HIGH | backend/connector_v2/views.py | 0 | email users newly added to ``shared_users`` (best-effort). | STRING |
| HIGH | backend/api_v2/api_deployment_views.py | 0 | email users newly added to ``shared_users`` (best-effort). | STRING |
| HIGH | backend/prompt_studio/prompt_studio_core_v2/views.py | 0 | email users newly added to ``shared_users`` (best-effort). | STRING |
| HIGH | backend/adapter_processor_v2/views.py | 0 | email users newly added to ``shared_users`` (best-effort). | STRING |
| HIGH | backend/workflow_manager/workflow_v2/models/workflow.py | 0 | filter api deployments that the user can access: - api deployments created by the user - api deployments shared with the | STRING |
| HIGH | backend/pipeline_v2/models.py | 0 | filter api deployments that the user can access: - api deployments created by the user - api deployments shared with the | STRING |
| HIGH | backend/api_v2/models.py | 0 | filter api deployments that the user can access: - api deployments created by the user - api deployments shared with the | STRING |
| HIGH | backend/tool_instance_v2/serializers.py | 0 | refuse reparenting: the gate authorises against the stored parent. | STRING |
| HIGH | backend/pipeline_v2/serializers/crud.py | 0 | refuse reparenting: the gate authorises against the stored parent. | STRING |
| HIGH | backend/api_v2/serializers.py | 0 | refuse reparenting: the gate authorises against the stored parent. | STRING |
| HIGH | …prompt_studio/prompt_profile_manager_v2/serializers.py | 0 | refuse reparenting: the gate authorises against the stored parent. | STRING |
| HIGH | backend/prompt_studio/prompt_studio_v2/serializers.py | 0 | refuse reparenting: the gate authorises against the stored parent. | STRING |
| HIGH | backend/backend/urls_v2.py | 0 | url configuration for backend project. the `urlpatterns` list routes urls to views. for more information please see: htt | STRING |
| HIGH | backend/backend/public_urls_v2.py | 0 | url configuration for backend project. the `urlpatterns` list routes urls to views. for more information please see: htt | STRING |
| HIGH | backend/backend/public_urls.py | 0 | url configuration for backend project. the `urlpatterns` list routes urls to views. for more information please see: htt | STRING |
| HIGH | backend/backend/urls.py | 0 | url configuration for backend project. the `urlpatterns` list routes urls to views. for more information please see: htt | STRING |
| HIGH | backend/backend/settings/base.py | 0 | get the value of an environment variable specified by the given key. add missing keys to `missing_settings` so that exce | STRING |
| HIGH | platform-service/src/unstract/platform_service/utils.py | 0 | get the value of an environment variable specified by the given key. add missing keys to `missing_settings` so that exce | STRING |
| HIGH | x2text-service/app/env.py | 0 | get the value of an environment variable specified by the given key. add missing keys to `missing_settings` so that exce | STRING |
| HIGH | workers/queue_backend/pg_barrier.py | 0 | yield a cursor; commit on success, roll back + recover on error. | STRING |
| HIGH | workers/queue_backend/pg_queue/leader_election.py | 0 | yield a cursor; commit on success, roll back + recover on error. | STRING |
| HIGH | workers/queue_backend/pg_queue/result_backend.py | 0 | yield a cursor; commit on success, roll back + recover on error. | STRING |
| HIGH | workers/tests/test_line_item_extraction.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_prompt_studio_dispatch.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_dispatch_with_callback.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_summarize_operation.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_plugin_migration_regression.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_legacy_executor_scaffold.py | 0 | configure the real executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_extraction_pipeline_contracts.py | 0 | configure the real executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_executor_sanity.py | 0 | configure the real executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_legacy_executor_extract.py | 0 | configure the real executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_prompt_studio_dispatch.py | 0 | run execute_extraction task via task.apply() (eager-safe). | STRING |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | runner/src/unstract/runner/__init__.py | 29 | __all__ = ["UnstractRunner"] | CODE |
| LOW | runner/src/unstract/runner/utils.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | runner/src/unstract/runner/clients/helper.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | runner/src/unstract/runner/controller/health.py | 5 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/rig/__init__.py | 14 | __all__ = [ | CODE |
| LOW | backend/workflow_manager/internal_serializers.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/internal_views.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/internal_views.py | 936 | def _update_file_aggregates(execution, validated_data) -> None: | CODE |
| LOW | backend/workflow_manager/utils/pipeline_utils.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | …kend/workflow_manager/file_execution/internal_views.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/execution/access.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | …end/workflow_manager/execution/serializer/execution.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/execution/views/execution.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/endpoint_v2/queue_utils.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/endpoint_v2/destination.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/endpoint_v2/serializers.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/endpoint_v2/constants.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/endpoint_v2/database_utils.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/endpoint_v2/source.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/endpoint_v2/tests/__init__.py | 3 | __all__ = ["celery_app"] | CODE |
| LOW | …ager/endpoint_v2/tests/test_database_utils/__init__.py | 3 | __all__ = ["celery_app"] | CODE |
| LOW | backend/workflow_manager/workflow_v2/workflow_helper.py | 67 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/workflow_v2/workflow_helper.py | 435 | def _set_result_acknowledge(execution: WorkflowExecution) -> None: | CODE |
| LOW | …nd/workflow_manager/workflow_v2/execution_log_utils.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ow_manager/workflow_v2/execution_log_internal_views.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | …nd/workflow_manager/workflow_v2/file_history_helper.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/workflow_v2/execution.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/workflow_v2/execution.py | 391 | def update_execution_task(execution_id: str, task_id: str) -> None: | CODE |
| LOW | backend/workflow_manager/workflow_v2/execution_view.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/workflow_v2/serializers.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | …end/workflow_manager/workflow_v2/undispatched_sweep.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | …end/workflow_manager/workflow_v2/execution_log_view.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | …end/workflow_manager/workflow_v2/file_history_views.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/workflow_v2/dto.py | 188 | def _update_metadata(self, result: dict, metadata: dict) -> None: | CODE |
| LOW | backend/workflow_manager/workflow_v2/views.py | 67 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ckend/workflow_manager/workflow_v2/models/execution.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | …ckend/workflow_manager/workflow_v2/models/execution.py | 575 | def update_execution_err(self, err_msg: str = "") -> None: | CODE |
| LOW | backend/middleware/exception.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/middleware/internal_api_auth.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/migrating/v2/unstract_migrations.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | …kend/migrating/v2/management/commands/migrate_to_v2.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/configuration/models.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/configuration/config_registry.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/configuration/internal_views.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/tool_instance_v2/serializers.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | backend/tool_instance_v2/tool_instance_helper.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/tool_instance_v2/internal_views.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/tool_instance_v2/tool_processor.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/tool_instance_v2/tool_processor.py | 100 | def update_schema_with_adapter_configurations(schema: Spec, user: User) -> None: | CODE |
| LOW | backend/tool_instance_v2/views.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/plugins/__init__.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/plugins/__init__.py | 60 | __all__ = ["get_plugin_manager", "get_plugin"] | CODE |
| LOW | backend/plugins/apps.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/plugins/workflow_manager/workflow_v2/utils.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ns/workflow_manager/workflow_v2/api_hub_usage_utils.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/plugins/api/dto/__init__.py | 31 | __all__ = ["metadata", "ApiDtoService"] | CODE |
| LOW | backend/tenant_account_v2/signals.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/tenant_account_v2/group_serializers.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/tenant_account_v2/group_views.py | 30 | logger = logging.getLogger(__name__) | CODE |
| 437 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/scripts/bump_sdk_v0_version.sh | 144 | # Check if a file exists | COMMENT |
| LOW | docker/scripts/bump_sdk_v0_version.sh | 236 | # Check if file exists | COMMENT |
| LOW | docker/scripts/bump_sdk_v0_version.sh | 242 | # Check if file has unstract-sdk dependency | COMMENT |
| LOW | docker/scripts/bump_sdk_v0_version.sh | 310 | # Check if pyproject.toml exists | COMMENT |
| LOW | docker/scripts/bump_sdk_v0_version.sh | 434 | # Check if a core command is provided | COMMENT |
| LOW | docker/scripts/bump_sdk_v0_version.sh | 440 | # Check if --target-version is provided with --bump | COMMENT |
| LOW | .claude/skills/connector-ops/scripts/fetch_logo.py | 47 | # Check if it's actually an SVG (not an error page) | COMMENT |
| LOW | …laude/skills/connector-ops/scripts/verify_connector.py | 165 | # Check if registered | COMMENT |
| LOW | …e/skills/adapter-ops/scripts/init_embedding_adapter.py | 260 | # Check if SVG (by URL extension or content) | STRING |
| LOW | …e/skills/adapter-ops/scripts/init_embedding_adapter.py | 350 | # Check if SVG | STRING |
| LOW | .claude/skills/adapter-ops/scripts/init_llm_adapter.py | 270 | # Check if SVG (by URL extension or content) | STRING |
| LOW | .claude/skills/adapter-ops/scripts/init_llm_adapter.py | 360 | # Check if SVG | STRING |
| LOW | backend/workflow_manager/internal_views.py | 115 | # Check if cost data is requested (expensive operation) | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 219 | # Check if pipeline_id references a Pipeline or APIDeployment (like serializer) | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 233 | # Check if it's an APIDeployment (like serializer does) | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 408 | # Check if workflow has API deployments | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 2298 | # Check if this is a regular pipeline (ETL/TASK/APP) | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 2865 | # Check if file history should be created based on use_file_history flag | COMMENT |
| LOW | backend/workflow_manager/execution/views/execution.py | 29 | # Check if this specific execution belongs to a workflow created by the user | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/queue_utils.py | 34 | # Check if caller explicitly wants the default (non-HITL) backend | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/queue_utils.py | 52 | # Check if this is for HITL operations | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/destination.py | 139 | # Check if connector is required but missing | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/destination.py | 202 | # Check if API deployment requested HITL override with hitl_queue_name | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/destination.py | 204 | # Check if API rules are configured for this workflow | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/destination.py | 646 | # Check if metadata is not None and is either a non-empty dict or valid string | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/destination.py | 953 | # Check if this is packet processing | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/source.py | 337 | # Check if we've hit the limit | COMMENT |
| LOW | backend/workflow_manager/endpoint_v2/source.py | 727 | # Check if the path is a directory using metadata first. | COMMENT |
| LOW | …ation-connectors/test_destination_connector_mariadb.py | 33 | # Check if all required environment variables are set | COMMENT |
| LOW | …ion-connectors/test_destination_connector_snowflake.py | 33 | # Check if all required environment variables are set | COMMENT |
| LOW | …ination-connectors/test_destination_connector_mssql.py | 30 | # Check if all required environment variables are set | COMMENT |
| LOW | …nation-connectors/test_destination_connector_oracle.py | 32 | # Check if all required environment variables are set | COMMENT |
| LOW | …tion-connectors/test_destination_connector_redshift.py | 30 | # Check if all required environment variables are set | COMMENT |
| LOW | …ination-connectors/test_destination_connector_mysql.py | 32 | # Check if all required environment variables are set | COMMENT |
| LOW | …nd/workflow_manager/workflow_v2/file_history_helper.py | 326 | # Check if file history already exists | COMMENT |
| LOW | backend/workflow_manager/workflow_v2/views.py | 1408 | # Check if file already has completed history | COMMENT |
| LOW⚡ | …ckend/workflow_manager/workflow_v2/models/execution.py | 561 | # Check if this is an API deployment execution | COMMENT |
| LOW | backend/middleware/organization_middleware.py | 11 | # Check if the URL matches the pattern with organization ID | COMMENT |
| LOW | backend/middleware/organization_middleware.py | 14 | # Check if the request path matches any of the whitelisted paths | COMMENT |
| LOW | backend/configuration/config_registry.py | 35 | # Check if plugin is active | COMMENT |
| LOW | backend/configuration/internal_views.py | 76 | # Check if we found an organization-specific override | COMMENT |
| LOW⚡ | backend/tool_instance_v2/serializers.py | 324 | # Check if the workflow exists | COMMENT |
| LOW⚡ | backend/tool_instance_v2/serializers.py | 330 | # Check if the number of tool instances matches the actual count | COMMENT |
| LOW⚡ | backend/tool_instance_v2/serializers.py | 340 | # Check if each tool instance exists in the workflow | COMMENT |
| LOW | backend/tool_instance_v2/tool_instance_helper.py | 343 | # Check if any adapter value is in UUID format (indicates already migrated) | COMMENT |
| LOW | backend/tool_instance_v2/tool_instance_helper.py | 388 | # Check if already migrated | COMMENT |
| LOW | backend/tool_instance_v2/tool_processor.py | 49 | # Check if it's an agentic studio tool (cloud-only feature) | COMMENT |
| LOW | backend/file_management/file_management_helper.py | 211 | # Check if the file type is in the allowed list | COMMENT |
| LOW | …tils/file_storage/helpers/prompt_studio_file_helper.py | 188 | # Check if the file type is in the allowed list | COMMENT |
| LOW | backend/connector_v2/serializers.py | 109 | # Check if OAuth tokens are actually present in metadata | COMMENT |
| LOW | backend/connector_v2/unstract_account.py | 34 | # Check if folder exists and create if it is not available | COMMENT |
| LOW | backend/api_v2/permission.py | 11 | # Check if the user is the owner via base class logic | COMMENT |
| LOW | backend/api_v2/serializers.py | 202 | # Check if this workflow already has an active API deployment | COMMENT |
| LOW | backend/api_v2/serializers.py | 368 | # Check if HITL feature is available | COMMENT |
| LOW | backend/api_v2/serializers.py | 490 | # Check if profile exists | COMMENT |
| LOW | backend/api_v2/serializers.py | 525 | # Check if the profile owner matches the API key owner | COMMENT |
| LOW | backend/api_v2/serializers.py | 550 | # Check if UUID exists in the database | COMMENT |
| LOW | backend/api_v2/deployment_helper.py | 330 | # Check if highlight data should be removed using configuration registry | COMMENT |
| LOW⚡ | …i_v2/management/commands/clear_org_rate_limit_cache.py | 118 | # Check if cache backend supports delete_pattern (Redis cache) | COMMENT |
| LOW | …nd/api_v2/management/commands/delete_org_rate_limit.py | 32 | # Check if custom limit exists | COMMENT |
| 122 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | …nager/workflow_v2/tests/test_record_dispatch_handle.py | 98 | model.objects.filter.return_value.update.assert_called_once_with( | CODE |
| CRITICAL⚡ | …nager/workflow_v2/tests/test_record_dispatch_handle.py | 119 | model.objects.filter.return_value.update.assert_called_once_with( | CODE |
| CRITICAL | backend/configuration/models.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/tool_instance_v2/tool_instance_helper.py | 10 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL⚡ | …nd/scheduler/tests/test_pg_periodic_schedule_mirror.py | 407 | sched.objects.filter.return_value.delete.assert_called_once() | CODE |
| CRITICAL⚡ | …nd/scheduler/tests/test_pg_periodic_schedule_mirror.py | 418 | sched.objects.filter.return_value.delete.assert_called_once() | CODE |
| CRITICAL | backend/scheduler/tests/test_pg_schedule_ownership.py | 220 | Sched.objects.filter.return_value.update.assert_not_called() | CODE |
| CRITICAL | backend/utils/FileValidator.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/pg_queue/tests/test_mirror_pg_periodic_tasks.py | 246 | Beat.objects.filter.return_value.update.assert_called_once() | CODE |
| CRITICAL⚡ | …/pg_queue/tests/test_reconcile_pg_schedules_command.py | 199 | Sched.objects.order_by.return_value.iterator.assert_called_once_with( | CODE |
| CRITICAL⚡ | …/pg_queue/tests/test_reconcile_pg_schedules_command.py | 207 | Sched.objects.values_list.return_value.iterator.assert_called_once_with( | CODE |
| CRITICAL⚡ | …/pg_queue/tests/test_reconcile_pg_schedules_command.py | 215 | Sched.objects.order_by.return_value.iterator.assert_called_once_with(chunk_size=7) | CODE |
| CRITICAL | backend/pipeline_v2/pipeline_processor.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …ckend/pipeline_v2/tests/test_pipeline_lookup_guards.py | 23 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/api_v2/key_helper.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/api_v2/utils.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/api_v2/tests/test_api_key_create_target.py | 51 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | …/prompt_studio/prompt_studio_core_v2/internal_views.py | 45 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/prompt_studio/tests/test_request_validation.py | 326 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | …ompt_studio_output_manager_v2/output_manager_helper.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …lobal_api_deployment_key/tests/test_global_key_auth.py | 33 | from django.core.exceptions import ValidationError # noqa: E402 | CODE |
| CRITICAL⚡ | backend/mcp_server/tests/test_input_guards.py | 163 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …k1/src/unstract/sdk1/patches/litellm_cohere_timeout.py | 3 | Bug: litellm.llms.cohere.embed.handler.embedding() and async_embedding() | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/workflow_manager/internal_views.py | 2294 | except APIDeployment.DoesNotExist: | CODE |
| HIGH | backend/workflow_manager/internal_views.py | 2963 | except APIDeployment.DoesNotExist: | CODE |
| HIGH | …_manager/execution/tests/test_pg_finalization_fixes.py | 757 | except RuntimeError: | CODE |
| HIGH | …ckend/workflow_manager/workflow_v2/models/execution.py | 303 | except ObjectDoesNotExist: | CODE |
| HIGH | …ckend/workflow_manager/workflow_v2/models/execution.py | 308 | except ObjectDoesNotExist: | CODE |
| HIGH | backend/migrating/v2/unstract_migrations.py | 36 | except ImportError: | CODE |
| HIGH | backend/migrating/v2/unstract_migrations.py | 63 | except ImportError: | CODE |
| HIGH | backend/plugins/workflow_manager/workflow_v2/utils.py | 120 | except ImportError: | CODE |
| HIGH | backend/plugins/workflow_manager/workflow_v2/utils.py | 154 | except ImportError: | CODE |
| HIGH | backend/scheduler/tasks.py | 315 | except ModuleNotFoundError: | CODE |
| HIGH | backend/utils/fields.py | 131 | except json.JSONDecodeError: | CODE |
| HIGH | backend/utils/file_storage/helpers/streaming_writer.py | 58 | except FileNotFoundError: | CODE |
| HIGH | backend/utils/file_storage/helpers/streaming_writer.py | 42 | except Exception: | CODE |
| HIGH | backend/connector_v2/views.py | 201 | except Exception: | CODE |
| HIGH | backend/api_v2/deployment_helper.py | 602 | except ValueError: | CODE |
| HIGH | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 395 | except ProfileManager.DoesNotExist: | CODE |
| HIGH | backend/prompt_studio/prompt_studio_core_v2/models.py | 209 | except FileNotFoundError: | CODE |
| HIGH | …end/prompt_studio/prompt_studio_core_v2/serializers.py | 196 | except ObjectDoesNotExist: | CODE |
| HIGH | backend/prompt_studio/prompt_studio_core_v2/views.py | 1036 | except (FileNotFoundError, FileNotFound): | CODE |
| HIGH | backend/mcp_server/spend_guard.py | 198 | except (*CACHE_ERRORS, AttributeError, NotImplementedError): | CODE |
| HIGH | backend/mcp_server/tests/test_spend_guard.py | 222 | except RuntimeError: | CODE |
| HIGH | platform-service/tests/test_memory_leak_simulation.py | 79 | except Exception: | CODE |
| HIGH | platform-service/tests/test_memory_leak_simulation.py | 113 | except Exception: | CODE |
| HIGH | platform-service/tests/test_memory_leak_simulation.py | 150 | except APIError: | CODE |
| HIGH | platform-service/tests/test_memory_leak_simulation.py | 185 | except APIError: | CODE |
| HIGH | platform-service/tests/test_memory_leak_simulation.py | 303 | except Exception: | CODE |
| HIGH | platform-service/tests/test_memory_leak_simulation.py | 345 | except Exception: | CODE |
| HIGH | workers/plugin_registry.py | 223 | except Exception: | CODE |
| HIGH | workers/file_processing/structure_tool_task.py | 936 | except Exception: | CODE |
| HIGH | workers/queue_backend/pg_queue/liveness.py | 186 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | workers/queue_backend/pg_queue/liveness.py | 206 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | workers/shared/clients/base_client.py | 632 | except Exception: | CODE |
| HIGH | workers/shared/patterns/retry/backoff.py | 407 | except Exception: | CODE |
| HIGH | workers/shared/patterns/retry/backoff.py | 427 | except Exception: | CODE |
| HIGH | workers/shared/patterns/retry/backoff.py | 169 | except Exception: | CODE |
| HIGH | workers/shared/enums/worker_enums_base.py | 128 | except ValueError: | CODE |
| HIGH | …rkers/shared/workflow/execution/active_file_manager.py | 667 | except Exception: | CODE |
| HIGH | workers/shared/infrastructure/context.py | 45 | except AttributeError: | CODE |
| HIGH | workers/shared/infrastructure/context.py | 84 | except AttributeError: | CODE |
| HIGH | workers/shared/infrastructure/logging/helpers.py | 208 | except Exception: | CODE |
| HIGH | workers/ide_callback/tasks.py | 117 | except Exception: | CODE |
| HIGH | workers/executor/executors/json_repair_helper.py | 26 | except ValueError: | CODE |
| HIGH | …ors/src/unstract/connectors/filesystems/minio/minio.py | 293 | except ValueError: | CODE |
| HIGH | …filesystems/azure_cloud_storage/azure_cloud_storage.py | 168 | except ValueError: | CODE |
| HIGH | unstract/core/src/unstract/core/worker_base.py | 393 | except ImportError: | CODE |
| HIGH | unstract/core/src/unstract/core/worker_base.py | 410 | except ImportError: | CODE |
| HIGH | unstract/core/src/unstract/core/file_operations.py | 351 | except Exception: | CODE |
| HIGH | unstract/core/src/unstract/core/network/ssrf.py | 116 | except ValueError: | CODE |
| HIGH | unstract/sdk1/src/unstract/sdk1/exceptions.py | 197 | except ValueError: | CODE |
| HIGH | unstract/sdk1/src/unstract/sdk1/file_storage/impl.py | 253 | except Exception: | CODE |
| HIGH | unstract/sdk1/src/unstract/sdk1/file_storage/impl.py | 224 | except FileNotFoundError: | CODE |
| HIGH | unstract/sdk1/src/unstract/sdk1/file_storage/impl.py | 229 | except FileNotFoundError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 249 | - [Unstract + Crew.AI](https://unstract.com/blog/agentic-document-extraction-processing-with-unstract-crew-ai/) | CODE |
| MEDIUM | docker/docker-compose.yaml | 217 | # bounded-minutes orchestration, and idempotency-guarded (UN-3671) so a vt | COMMENT |
| MEDIUM | docker/docker-compose.yaml | 218 | # overrun can't double-orchestrate. Without an explicit vt the consumer | COMMENT |
| MEDIUM | frontend/src/components/ui/shims/antd-structure.tsx | 1454 | // sits in a tight row — the agentic Prompt Studio's document | COMMENT |
| MEDIUM⚡ | backend/tool_instance_v2/tool_instance_helper.py | 31 | # Import agentic registry if available (cloud-only feature) | COMMENT |
| MEDIUM | backend/tool_instance_v2/tool_processor.py | 18 | # Import agentic registry if available (cloud-only feature) | COMMENT |
| MEDIUM | backend/tool_instance_v2/tool_processor.py | 49 | # Check if it's an agentic studio tool (cloud-only feature) | COMMENT |
| MEDIUM | backend/tool_instance_v2/tool_processor.py | 142 | # Add agentic studio tools if available (cloud-only feature) | COMMENT |
| MEDIUM⚡ | backend/pg_queue/models.py | 555 | # deliberately never deleted at barrier finalise (there is no orchestration- | COMMENT |
| MEDIUM⚡ | backend/pg_queue/models.py | 557 | # post-completion redelivery from re-orchestrating. Only the reaper's | COMMENT |
| MEDIUM⚡ | backend/pg_queue/models.py | 566 | # When the orchestration was claimed. The reaper's sweep_orphan_claims gates on | COMMENT |
| MEDIUM⚡ | backend/pg_queue/models.py | 568 | # just-claimed live orchestration that hasn't armed its barrier is left alone). | COMMENT |
| MEDIUM | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 2992 | # Enrich with cloud-only per-prompt settings (table / agentic-table) | COMMENT |
| MEDIUM | …/prompt_studio/prompt_studio_core_v2/internal_views.py | 23 | # 10 MB — agentic table extraction output with highlight coordinates | COMMENT |
| MEDIUM | …pt_studio_registry_v2/prompt_studio_registry_helper.py | 215 | # A UUID-shaped tool_id with no registry row - e.g. an agentic tool | COMMENT |
| MEDIUM⚡ | backend/adapter_processor_v2/serializers.py | 153 | # Only retrieve context window and icon for available adapters | COMMENT |
| MEDIUM⚡ | backend/adapter_processor_v2/serializers.py | 156 | # Retrieve context window if adapter is a LLM | COMMENT |
| MEDIUM⚡ | workers/general/tasks.py | 239 | # Tracks whether THIS delivery won the orchestration claim, so the error | COMMENT |
| MEDIUM⚡ | workers/general/tasks.py | 246 | # orchestration no-ops here BEFORE any setup, barrier arm, or batch | COMMENT |
| MEDIUM⚡ | workers/general/tasks.py | 247 | # dispatch — so exactly one delivery orchestrates the execution even | COMMENT |
| MEDIUM⚡ | workers/general/tasks.py | 402 | # Release the orchestration claim so a redelivery/retry can | COMMENT |
| MEDIUM⚡ | workers/general/tasks.py | 403 | # re-orchestrate. The claim is taken before the work, so without this a | COMMENT |
| MEDIUM | workers/general/tasks.py | 297 | # PG redelivery guard (defense-in-depth): the orchestration claim | COMMENT |
| MEDIUM | workers/general/tasks.py | 298 | # tombstone normally blocks re-orchestrating a COMPLETED execution, but | COMMENT |
| MEDIUM | workers/general/tasks.py | 358 | # Calculate orchestration time (not total execution time - callback worker calculates that) | COMMENT |
| MEDIUM | workers/general/tasks.py | 662 | # For ETL/TASK workflows, we use file processing orchestration | COMMENT |
| MEDIUM | workers/general/tasks.py | 822 | # Use orchestration method that creates chord and returns immediately | COMMENT |
| MEDIUM | workers/general/tasks.py | 836 | # The orchestration result contains the chord_id and batch information | COMMENT |
| MEDIUM | workers/general/tasks.py | 166 | return False # first delivery — this replica owns the orchestration | CODE |
| MEDIUM | workers/file_processing/structure_tool_task.py | 351 | # ---- Route agentic vs regular ---- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 571 | # non-agentic table plugin uses (LegacyExecutor._run_table_extraction). | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 623 | # All-agentic case: skip the legacy pipeline entirely. The metrics | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 624 | # dict is still populated, so an agentic-only deployment reports the | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 702 | # Try agentic registry | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 775 | # 1. Unpack agentic project metadata (matches registry_helper export format) | COMMENT |
| MEDIUM | workers/queue_backend/pg_barrier.py | 470 | # double-orchestration window this guard exists to close. | COMMENT |
| MEDIUM | workers/queue_backend/pg_queue/consumer.py | 146 | # orchestration claim is taken (a circuit-breaker-open drop, or repeated pre-claim | COMMENT |
| MEDIUM | workers/queue_backend/pg_queue/reaper.py | 856 | # (A terminal execution's orchestration message was acked on completion or | COMMENT |
| MEDIUM | workers/queue_backend/pg_queue/reaper.py | 857 | # on the first skip-redelivery, so there is nothing left to re-orchestrate | COMMENT |
| MEDIUM | workers/queue_backend/pg_queue/reaper.py | 875 | # marking, so a slow orchestration that just armed its barrier (or a fresh | COMMENT |
| MEDIUM | workers/queue_backend/pg_queue/reaper.py | 1349 | # Orphan orchestration-claim GC + crash-window recovery. Runs | COMMENT |
| MEDIUM⚡ | workers/tests/test_orchestration_idempotency.py | 32 | # --- Layer 1: the duplicate-orchestration gate (no DB) --- | COMMENT |
| MEDIUM⚡ | workers/tests/test_orchestration_idempotency.py | 52 | # proceed would double-orchestrate, a swallow-and-skip would silently drop a | COMMENT |
| MEDIUM⚡ | workers/tests/test_orchestration_idempotency.py | 272 | # re-orchestrate (this is what stops a transient failure permanently | COMMENT |
| MEDIUM⚡ | workers/tests/test_orchestration_idempotency.py | 288 | # orchestration must resolve to exactly one True. Force the contended | COMMENT |
| MEDIUM | workers/tests/test_orchestration_idempotency.py | 143 | # redelivery/retry can re-orchestrate. | COMMENT |
| MEDIUM | workers/tests/test_orchestration_idempotency.py | 168 | # but finds the execution already terminal must skip re-orchestration | COMMENT |
| MEDIUM | workers/tests/test_pg_reaper.py | 1387 | # --- Layer 6: orphan orchestration-claim sweep (real Postgres, UN-3679) --- | COMMENT |
| MEDIUM | workers/tests/test_pg_reaper.py | 1464 | # A just-claimed live orchestration (claimed_at within the stuck-timeout) | COMMENT |
| MEDIUM | workers/tests/test_pg_reaper.py | 1535 | # A slow-but-live orchestration arms its barrier BETWEEN the sweep's SELECT | COMMENT |
| MEDIUM⚡ | workers/tests/test_pg_orchestration_failure.py | 76 | # original orchestration exception or skip its re-raise. | COMMENT |
| MEDIUM⚡ | workers/tests/test_agentic_operations.py | 137 | # 4. LegacyExecutor does NOT handle agentic operations | COMMENT |
| MEDIUM⚡ | workers/tests/test_agentic_operations.py | 188 | # 5. Structure tool routes to agentic executor | COMMENT |
| MEDIUM⚡ | workers/tests/test_agentic_operations.py | 233 | # 6. tasks.py log_component for agentic operations | COMMENT |
| MEDIUM⚡ | workers/tests/test_single_pass_extraction.py | 323 | # 3. agentic operations — handled by AgenticPromptStudioExecutor (cloud) | COMMENT |
| MEDIUM⚡ | workers/tests/test_plugin_migration_regression.py | 410 | # Both legacy and agentic contexts can create instances | COMMENT |
| MEDIUM⚡ | workers/tests/test_plugin_migration_regression.py | 180 | assert len(Operation) == 19 # 7 legacy + 2 table + 2 sps + 8 agentic | CODE |
| MEDIUM | workers/tests/test_structure_tool_pipeline.py | 450 | # Prompt studio lookup fails, agentic succeeds | COMMENT |
| MEDIUM | workers/tests/test_structure_tool_pipeline.py | 472 | # Simulate successful agentic extraction | COMMENT |
| MEDIUM | workers/tests/test_structure_tool_pipeline.py | 481 | # Should dispatch to agentic executor with agentic_extract operation | COMMENT |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | runner/src/unstract/runner/clients/docker_client.py | 80 | # Create a Docker client that communicates with | COMMENT |
| MEDIUM | runner/src/unstract/runner/clients/test_docker.py | 90 | # Create a mock for the 'images' attribute | COMMENT |
| MEDIUM | runner/src/unstract/runner/clients/test_docker.py | 103 | # Create a mock for the 'images' attribute | COMMENT |
| MEDIUM | runner/src/unstract/runner/clients/test_docker.py | 107 | # Create a mock for the 'api' attribute | COMMENT |
| MEDIUM | runner/src/unstract/runner/clients/test_docker.py | 193 | # Create a mock for the containers.run method | COMMENT |
| MEDIUM | runner/src/unstract/runner/controller/run.py | 8 | # Define a Blueprint with a root URL path | COMMENT |
| MEDIUM⚡ | runner/src/unstract/runner/controller/health.py | 7 | # Define a Blueprint with a root URL path | COMMENT |
| MEDIUM⚡ | runner/src/unstract/runner/controller/health.py | 11 | # Define a route to ping test | COMMENT |
| MEDIUM | backend/workflow_manager/endpoint_v2/database_utils.py | 156 | # Create a safe fallback error object | COMMENT |
| MEDIUM | backend/workflow_manager/endpoint_v2/source.py | 1021 | # This function is typically relevant for extracted text content, | COMMENT |
| MEDIUM | …ation-connectors/test_destination_connector_mariadb.py | 369 | # Create the table first if it doesn't exist | COMMENT |
| MEDIUM | …ination-connectors/test_destination_connector_mysql.py | 368 | # Create the table first if it doesn't exist | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/workflow_helper.py | 885 | # Create a new WorkflowExecution entity for each pipeline execution. | COMMENT |
| MEDIUM | …nd/workflow_manager/workflow_v2/execution_log_utils.py | 164 | # Create the scheduler | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/execution.py | 153 | # Create the workflow execution | COMMENT |
| MEDIUM | backend/tool_instance_v2/serializers.py | 94 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | backend/scheduler/tasks.py | 229 | # Create a crontab schedule | COMMENT |
| MEDIUM | backend/utils/log_events.py | 69 | """This function is called when a client connects to the server. | STRING |
| MEDIUM | …tils/file_storage/helpers/prompt_studio_file_helper.py | 246 | """This method is used to file files with the specific pattern | STRING |
| MEDIUM | backend/utils/seed_data/seed_data.py | 32 | # Creating a project | COMMENT |
| MEDIUM | backend/backend/celery_service.py | 23 | # Create a Celery instance. Default time zone is UTC. | COMMENT |
| MEDIUM⚡ | backend/pipeline_v2/views.py | 262 | # Create a PostmanCollection for a Pipeline | COMMENT |
| MEDIUM | backend/prompt_studio/prompt_studio_core_v2/views.py | 1125 | # Create a record in the db for the file (document_name = original filename) | COMMENT |
| MEDIUM | backend/prompt_studio/prompt_studio_core_v2/views.py | 1129 | # Create a dictionary to store document data | COMMENT |
| MEDIUM | backend/prompt_studio/prompt_studio_core_v2/views.py | 1416 | # Create a backup copy if requested | COMMENT |
| MEDIUM⚡ | backend/adapter_processor_v2/serializers.py | 144 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | .github/workflows/production-build.yaml | 281 | # Create a concise summary for Slack | COMMENT |
| MEDIUM | workers/worker.py | 267 | # Initialize state variables | COMMENT |
| MEDIUM⚡ | workers/tests/test_table_extract_operation.py | 68 | # Create a mock TableExtractorExecutor | COMMENT |
| MEDIUM | workers/shared/cache/cache_keys.py | 51 | # Create a hash of the arguments for consistent keys | COMMENT |
| MEDIUM | workers/shared/utils/api_client_singleton.py | 43 | # Create a cache key based on API base URL and key | COMMENT |
| MEDIUM | workers/shared/workflow/destination_connector.py | 1147 | # Import necessary modules for file operations | COMMENT |
| MEDIUM | workers/shared/workflow/connectors/source.py | 537 | # Create the streaming discovery instance | COMMENT |
| MEDIUM | workers/shared/api/internal_client.py | 135 | # Create the first base client to establish the session | COMMENT |
| MEDIUM | workers/shared/infrastructure/database/utils.py | 301 | # Create a safe fallback error object | COMMENT |
| MEDIUM | workers/shared/infrastructure/database/utils.py | 394 | # Create a safe fallback error object | COMMENT |
| MEDIUM | workers/shared/infrastructure/config/worker_config.py | 505 | # Create a temporary environment with prefixed variables | COMMENT |
| MEDIUM | unstract/connectors/tests/databases/test_bigquery_db.py | 55 | # Create a mock Forbidden exception with billing error message | COMMENT |
| MEDIUM | unstract/connectors/tests/databases/test_bigquery_db.py | 78 | # Create a mock Forbidden exception with permission error message | COMMENT |
| MEDIUM | unstract/connectors/tests/databases/test_bigquery_db.py | 98 | # Create a mock NotFound exception | COMMENT |
| MEDIUM | unstract/connectors/tests/databases/test_bigquery_db.py | 117 | # Create a mock Forbidden exception with empty message | COMMENT |
| MEDIUM | …act/connectors/tests/filesystems/test_sharepoint_fs.py | 273 | # Create a simple PDF with one line of text | COMMENT |
| MEDIUM | …ctors/src/unstract/connectors/databases/unstract_db.py | 352 | # Create a safe fallback error object | COMMENT |
| MEDIUM⚡ | …tool-registry/src/unstract/tool_registry/tool_utils.py | 20 | # Define a regular expression pattern for Docker image URLs | COMMENT |
| MEDIUM⚡ | …tool-registry/src/unstract/tool_registry/tool_utils.py | 23 | # Define a regular expression pattern for local tool URLs | COMMENT |
| MEDIUM | unstract/flags/src/unstract/flags/flipt_grpc/client.py | 66 | # Create the gRPC channel | COMMENT |
| MEDIUM | unstract/flags/src/unstract/flags/flipt_grpc/client.py | 77 | # Create the evaluation stub for flag evaluation | COMMENT |
| MEDIUM | unstract/flags/src/unstract/flags/flipt_grpc/client.py | 80 | # Create the Flipt stub for management operations (like ListFlags) | COMMENT |
| MEDIUM | …stract/flags/flipt_grpc/flipt/flipt_simple_pb2_grpc.py | 49 | # This class is part of an EXPERIMENTAL API. | COMMENT |
| MEDIUM | …pt_grpc/flipt/evaluation/evaluation_simple_pb2_grpc.py | 81 | # This class is part of an EXPERIMENTAL API. | COMMENT |
| MEDIUM⚡ | unstract/flags/src/unstract/flags/client/flipt.py | 63 | # Create a FliptClient instance for this specific namespace | COMMENT |
| MEDIUM | unstract/flags/src/unstract/flags/client/flipt.py | 169 | # Create a FliptClient instance for this specific namespace | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 352 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 790 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 911 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 1297 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 1432 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 1600 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | …stract/sdk1/adapters/vectordb/weaviate/src/weaviate.py | 83 | # Create the colletion | COMMENT |
| MEDIUM | …ct/sdk1/adapters/x2text/llm_whisperer_v2/src/helper.py | 438 | # Define the directory of the output file and metadata paths | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/rig/cli.py | 459 | CODE | |
| LOW | .claude/skills/connector-ops/scripts/fetch_logo.py | 31 | CODE | |
| LOW | .claude/skills/connector-ops/scripts/fetch_logo.py | 61 | CODE | |
| LOW | .claude/skills/connector-ops/scripts/fetch_logo.py | 85 | CODE | |
| LOW | .claude/skills/connector-ops/scripts/fetch_logo.py | 114 | CODE | |
| LOW | .claude/skills/connector-ops/scripts/fetch_logo.py | 142 | CODE | |
| LOW | …laude/skills/connector-ops/scripts/verify_connector.py | 95 | CODE | |
| LOW | …e/skills/adapter-ops/scripts/init_embedding_adapter.py | 182 | CODE | |
| LOW | …e/skills/adapter-ops/scripts/init_embedding_adapter.py | 415 | CODE | |
| LOW | .claude/skills/adapter-ops/scripts/manage_models.py | 169 | CODE | |
| LOW | .claude/skills/adapter-ops/scripts/init_llm_adapter.py | 192 | CODE | |
| LOW | .claude/skills/adapter-ops/scripts/init_llm_adapter.py | 425 | CODE | |
| LOW | .claude/skills/csp-check/scripts/scan_origins.py | 229 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 205 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 332 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 519 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 781 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 950 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 1107 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 1596 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 2066 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 2157 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 2259 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 2364 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 2459 | CODE | |
| LOW | backend/workflow_manager/utils/pipeline_utils.py | 17 | CODE | |
| LOW | …kend/workflow_manager/file_execution/internal_views.py | 274 | CODE | |
| LOW | …kend/workflow_manager/file_execution/internal_views.py | 412 | CODE | |
| LOW | …kend/workflow_manager/file_execution/internal_views.py | 508 | CODE | |
| LOW | …er/file_execution/tests/test_index_migration_guards.py | 75 | CODE | |
| LOW | …er/file_execution/tests/test_index_migration_guards.py | 92 | CODE | |
| LOW | backend/workflow_manager/execution/filter.py | 37 | CODE | |
| LOW | backend/workflow_manager/endpoint_v2/destination.py | 280 | CODE | |
| LOW | backend/workflow_manager/endpoint_v2/destination.py | 603 | CODE | |
| LOW | backend/workflow_manager/endpoint_v2/source.py | 966 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 764 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 1152 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 1184 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 1361 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 447 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 493 | CODE | |
| LOW | …kend/migrating/v2/management/commands/migrate_to_v2.py | 147 | CODE | |
| LOW | …kend/migrating/v2/management/commands/migrate_to_v2.py | 387 | CODE | |
| LOW | backend/tool_instance_v2/serializers.py | 90 | CODE | |
| LOW | backend/tool_instance_v2/tool_instance_helper.py | 433 | CODE | |
| LOW | backend/tool_instance_v2/tool_instance_helper.py | 560 | CODE | |
| LOW | backend/tool_instance_v2/internal_views.py | 110 | CODE | |
| LOW | backend/platform_api/services.py | 220 | CODE | |
| LOW | backend/scheduler/ownership.py | 97 | CODE | |
| LOW | backend/scheduler/tasks.py | 275 | CODE | |
| LOW | backend/utils/cache_service.py | 48 | CODE | |
| LOW | …tils/file_storage/helpers/prompt_studio_file_helper.py | 113 | CODE | |
| LOW | backend/utils/tests/test_list_pagination.py | 164 | CODE | |
| LOW | backend/utils/request/request.py | 19 | CODE | |
| LOW | backend/backend/internal_base_urls.py | 58 | CODE | |
| LOW | backend/backend/tests/test_redis_settings_derivation.py | 938 | CODE | |
| LOW | …_queue/management/commands/mirror_pg_periodic_tasks.py | 345 | CODE | |
| LOW | backend/pipeline_v2/serializers/crud.py | 305 | CODE | |
| LOW | backend/api_v2/deployment_helper.py | 184 | CODE | |
| LOW | backend/api_v2/deployment_helper.py | 560 | CODE | |
| 164 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 350 | // Step 1: Export tool | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 365 | // Step 2: Create workflow with unique name based on API deployment name | COMMENT |
| LOW⚡ | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 379 | // Step 3: Configure endpoints with API connection type | COMMENT |
| LOW⚡ | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 382 | // Step 4: Add tool instance to workflow | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 398 | // Step 5: Update tool instance with proper metadata | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 423 | // Step 6: Create API deployment | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 310 | ### Step 1: Identify Connector | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 318 | ### Step 2: Check Dependencies | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 328 | ### Step 3: Remove Files | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 341 | ### Step 4: Clean Dependencies (Optional) | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 345 | ### Step 5: Verify | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 355 | ### Step 6: Report to User | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 375 | ### Step 1: Understand the Change | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 384 | ### Step 2: Locate Files | COMMENT |
| LOW⚡ | .claude/skills/connector-ops/SKILL.md | 391 | ### Step 3: Make Changes | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 58 | ### Step 1: Gather Requirements | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 65 | ### Step 2: Research the Service | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 76 | ### Step 3: Generate Connector ID | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 84 | ### Step 4: Create Directory Structure | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 97 | ### Step 5: Create Connector Files | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 191 | ### Step 6: Fetch Logo | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 207 | ### Step 7: Add Dependencies | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 219 | ### Step 8: Create Tests | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 260 | ### Step 9: Verify | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 275 | ### Step 10: Report to User | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 420 | ### Step 4: Update Tests | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 427 | ### Step 5: Verify | COMMENT |
| LOW | .claude/skills/connector-ops/SKILL.md | 440 | ### Step 6: Report to User | COMMENT |
| LOW⚡ | .claude/skills/worktree/worktree-setup.sh | 106 | # Step 2: Copy gitignored backend settings | COMMENT |
| LOW⚡ | .claude/skills/worktree/worktree-setup.sh | 159 | # Step 3: Copy project-local Claude skills (gitignored ones) | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1292 | # Step 2: Build OR conditions for file matching: (uuid1 AND path1) OR (uuid2 AND path2) OR ... | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1299 | # Step 3: Execute bulk query on workflow_file_executions from active workflow executions only | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1377 | # Step 2: Extract UUIDs for IN query | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1380 | # Step 3: Execute bulk query on workflow_file_executions from active workflow executions only | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 2029 | # Step 1: Get source configuration with graceful error handling | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 2032 | # Step 2: Get destination configuration with graceful error handling | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 2037 | # Step 3: Build comprehensive workflow definition using dataclasses | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 1272 | # Step 1: Get ACTIVE workflow executions for this workflow | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 1357 | # Step 1: Get ACTIVE workflow executions for this workflow | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 416 | # # Step 1: Create a legacy table manually (simulating old table structure) | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 420 | # Step 2: Verify table is detected as legacy | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 425 | # Step 3: Trigger migration using the real migration flow | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 429 | # Step 4: Verify migration was successful | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 433 | # Step 5: Test dual column writing (legacy + v2) | COMMENT |
| LOW⚡ | backend/tenant_account_v2/tests.py | 297 | # Step 1: the sole owner departs — the carve-out keeps the (now | COMMENT |
| LOW⚡ | backend/tenant_account_v2/tests.py | 304 | # Step 2: an org admin later adds a live co-owner, who then departs. | COMMENT |
| LOW⚡ | backend/dashboard_metrics/services.py | 869 | # Step 1: Get deployment names and execution filter | COMMENT |
| LOW⚡ | backend/dashboard_metrics/services.py | 876 | # Step 2: Get executions with status and timestamp | COMMENT |
| LOW⚡ | backend/dashboard_metrics/services.py | 893 | # Step 3: Build exec->deployment mapping and stats | COMMENT |
| LOW⚡ | backend/dashboard_metrics/services.py | 898 | # Step 4: Query LLM usage | COMMENT |
| LOW | backend/dashboard_metrics/services.py | 917 | # Step 5: Query pages and aggregate usage | COMMENT |
| LOW | backend/dashboard_metrics/services.py | 928 | # Step 6: Build results sorted by total_tokens descending | COMMENT |
| LOW⚡ | docs/API_DEPLOYMENT_RATE_LIMITING.md | 340 | # Step 1: Update environment variable | COMMENT |
| LOW⚡ | docs/API_DEPLOYMENT_RATE_LIMITING.md | 343 | # Step 2: Restart application to load new setting | COMMENT |
| LOW⚡ | docs/API_DEPLOYMENT_RATE_LIMITING.md | 346 | # Step 3: Clear all caches to pick up immediately | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 324 | # Step 1: Validate and parse input data | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 327 | # Step 2: Setup execution context. The terminal guard inside it may skip a | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 341 | # Step 3: Handle manual review logic | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 344 | # Step 4: Pre-create file executions | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 347 | # Step 5: Process individual files | COMMENT |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pre-commit-config.yaml | 61 | hooks: | COMMENT |
| LOW | tox.ini | 1 | [tox] | COMMENT |
| LOW | docker/docker-compose.yaml | 381 | # A dedicated service rather than another queue on worker-pg-scheduler: the | COMMENT |
| LOW | docker/docker-compose.yaml | 421 | - WORKER_PG_QUEUE_CONSUMER_HEALTH_STALE_SECONDS=${WORKER_PG_METRICS_HEALTH_STALE_SECONDS:-960} | COMMENT |
| LOW | docker/sample.compose.override.yaml | 1 | # Development override - NO debugpy (use compose.debug.yaml for debugging) | COMMENT |
| LOW | docker/compose.debug.yaml | 1 | # Debug layer - adds debugpy to services | COMMENT |
| LOW | docker/compose.debug.yaml | 81 | # Queue set and worker type are deliberately NOT repeated: the module reads | COMMENT |
| LOW | docker/compose.debug.yaml | 161 | # Wrap the PG consumer, NOT `celery -A worker worker` (UN-4046). This | COMMENT |
| LOW | docker/compose.debug.yaml | 181 | # Postgres — the debug stack then accepts work and runs none of it. | COMMENT |
| LOW | docker/docker-compose-redis-tls.yaml | 1 | # A stand-in for a managed Redis, for local development only (UN-4123). | COMMENT |
| LOW | docker/redis-tls/generate-certs.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | docker/scripts/release-notes/print_release_notes.py | 1 | # type: ignore | COMMENT |
| LOW | docker/scripts/uv-lock-gen/uv-lock.sh | 1 | #!/bin/bash | COMMENT |
| LOW | frontend/vite-env.d.ts | 1 | /// <reference types="vite/client" /> | COMMENT |
| LOW | frontend/src/setupTests.js | 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. | COMMENT |
| LOW | frontend/src/components/ui/popover.tsx | 21 | // A popover open inside a Modal is portalled to `document.body`, so it | COMMENT |
| LOW | frontend/src/routes/Router.jsx | 41 | // none are fetched on the unauthenticated /landing page. In OSS the import | COMMENT |
| LOW | frontend/src/helpers/pluginRegistry.js | 1 | import { lazy } from "react"; | COMMENT |
| LOW | frontend/src/helpers/pluginRegistry.js | 21 | // navigation to its route), so plugins are never pulled onto the | COMMENT |
| LOW | frontend/src/helpers/pluginLoader.js | 1 | // Classify a dynamic plugin-import failure as "plugin not shipped" | COMMENT |
| LOW | frontend/src/helpers/prismSetup.js | 1 | import Prism from "prismjs"; | COMMENT |
| LOW | runner/src/unstract/runner/constants.py | 41 | REDIS_PASSWORD = "REDIS_PASSWORD" | COMMENT |
| LOW | tests/critical_paths.yaml | 1 | # Unstract critical paths registry. | COMMENT |
| LOW | tests/groups.yaml | 1 | # Unstract test rig — group definitions. | COMMENT |
| LOW | tests/groups.yaml | 41 | # since the tables are Django-managed models owned by the backend. | COMMENT |
| LOW | tests/groups.yaml | 261 | paths: [tests/e2e/hurl] | COMMENT |
| LOW | tests/compose/docker-compose.test.yaml | 41 | COMMENT | |
| LOW | tests/rig/cli.py | 601 | ) | COMMENT |
| LOW | backend/entrypoint.sh | 21 | *) echo "Unknown argument: $1"; exit 1 ;; | COMMENT |
| LOW | backend/entrypoint.sh | 41 | # first start after an upgrade moves every schedule off Beat unless you set it to | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 541 | COMMENT | |
| LOW | backend/workflow_manager/internal_views.py | 561 | # _callback_already_ran); STOPPED records an explicit user/operator | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 701 | # skip fodder — while the freshly stranded execution sat at rank 1964 and every | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 741 | # and every run longer than the window is formally eligible for recovery | COMMENT |
| LOW | …ation-connectors/test_destination_connector_mariadb.py | 661 | COMMENT | |
| LOW | …ination-connectors/test_destination_connector_mysql.py | 641 | # cursor.execute(f"DROP TABLE IF EXISTS {self.test_table_name}") | COMMENT |
| LOW | backend/workflow_manager/workflow_v2/workflow_helper.py | 641 | # the bookkeeping below must NOT flip the (now-running) row to ERROR. | COMMENT |
| LOW | …end/workflow_manager/workflow_v2/undispatched_sweep.py | 61 | # The predicate cannot distinguish "never dispatched" from "dispatched, handle not | COMMENT |
| LOW | …end/workflow_manager/workflow_v2/undispatched_sweep.py | 81 | DEFAULT_MIN_AGE_SECONDS = 3600 # 1 hour | COMMENT |
| LOW | …end/workflow_manager/workflow_v2/undispatched_sweep.py | 121 | return value | COMMENT |
| LOW | …end/workflow_manager/workflow_v2/undispatched_sweep.py | 261 | exc_info=True, | COMMENT |
| LOW | …end/workflow_manager/workflow_v2/undispatched_sweep.py | 281 | # execution as a reason to STOP, not to overwrite. general/tasks.py returns | COMMENT |
| LOW | …end/workflow_manager/workflow_v2/undispatched_sweep.py | 301 | # call that records the handle, including on the three branches above, and key both | COMMENT |
| LOW | …ckend/workflow_manager/workflow_v2/models/execution.py | 241 | # the COMPLEMENT of the terminal set: the *index* stays usable if a new | COMMENT |
| LOW | backend/platform_api/whoami_views.py | 41 | COMMENT | |
| LOW | backend/platform_api/tests/test_whoami.py | 21 | from rest_framework.test import APIRequestFactory, APITestCase | COMMENT |
| LOW | backend/scheduler/ownership.py | 121 | Flipt flip with nothing to restore. | COMMENT |
| LOW | backend/scheduler/ownership.py | 161 | ) | COMMENT |
| LOW | backend/scheduler/ownership.py | 201 | # | COMMENT |
| LOW | backend/scheduler/tasks.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| LOW | backend/scheduler/tasks.py | 161 | # without advancing the "last changed" timestamp. | COMMENT |
| LOW | backend/scheduler/tests/test_pg_schedule_ownership.py | 261 | COMMENT | |
| LOW | backend/utils/tests/test_org_path_discovery.py | 21 | COMMENT | |
| LOW | backend/utils/models/org_aware_manager.py | 61 | except (RuntimeError, OperationalError, ProgrammingError) as exc: | COMMENT |
| LOW | backend/utils/models/org_path_discovery.py | 21 | COMMENT | |
| LOW | backend/notification_v2/notification_dispatch.py | 61 | org_string_id: The org's **string** identifier | COMMENT |
| LOW | backend/notification_v2/notification_dispatch.py | 81 | # DEAD_LETTER and ``raise_on_final_failure`` is never even read. The | COMMENT |
| LOW | backend/notification_v2/internal_api_views.py | 641 | status=BufferStatus.SENDING.value, | COMMENT |
| LOW | …nd/notification_v2/tests/test_notification_dispatch.py | 81 | # enqueue_task types org_id as str; a deleted org must not put None on the | COMMENT |
| LOW | backend/backend/flowerconfig.py | 1 | # Flower is a real-time web based monitor and administration tool | COMMENT |
| 120 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 350 | // Step 1: Export tool | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 365 | // Step 2: Create workflow with unique name based on API deployment name | COMMENT |
| LOW⚡ | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 379 | // Step 3: Configure endpoints with API connection type | COMMENT |
| LOW⚡ | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 382 | // Step 4: Add tool instance to workflow | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 398 | // Step 5: Update tool instance with proper metadata | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 423 | // Step 6: Create API deployment | COMMENT |
| LOW⚡ | .claude/skills/worktree/worktree-setup.sh | 106 | # Step 2: Copy gitignored backend settings | COMMENT |
| LOW⚡ | .claude/skills/worktree/worktree-setup.sh | 159 | # Step 3: Copy project-local Claude skills (gitignored ones) | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1292 | # Step 2: Build OR conditions for file matching: (uuid1 AND path1) OR (uuid2 AND path2) OR ... | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1299 | # Step 3: Execute bulk query on workflow_file_executions from active workflow executions only | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1377 | # Step 2: Extract UUIDs for IN query | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1380 | # Step 3: Execute bulk query on workflow_file_executions from active workflow executions only | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 2029 | # Step 1: Get source configuration with graceful error handling | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 2032 | # Step 2: Get destination configuration with graceful error handling | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 2037 | # Step 3: Build comprehensive workflow definition using dataclasses | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 1272 | # Step 1: Get ACTIVE workflow executions for this workflow | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 1357 | # Step 1: Get ACTIVE workflow executions for this workflow | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 416 | # # Step 1: Create a legacy table manually (simulating old table structure) | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 420 | # Step 2: Verify table is detected as legacy | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 425 | # Step 3: Trigger migration using the real migration flow | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 429 | # Step 4: Verify migration was successful | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 433 | # Step 5: Test dual column writing (legacy + v2) | COMMENT |
| LOW⚡ | backend/tenant_account_v2/tests.py | 297 | # Step 1: the sole owner departs — the carve-out keeps the (now | COMMENT |
| LOW⚡ | backend/tenant_account_v2/tests.py | 304 | # Step 2: an org admin later adds a live co-owner, who then departs. | COMMENT |
| LOW⚡ | backend/dashboard_metrics/services.py | 869 | # Step 1: Get deployment names and execution filter | COMMENT |
| LOW⚡ | backend/dashboard_metrics/services.py | 876 | # Step 2: Get executions with status and timestamp | COMMENT |
| LOW⚡ | backend/dashboard_metrics/services.py | 893 | # Step 3: Build exec->deployment mapping and stats | COMMENT |
| LOW⚡ | backend/dashboard_metrics/services.py | 898 | # Step 4: Query LLM usage | COMMENT |
| LOW | backend/dashboard_metrics/services.py | 917 | # Step 5: Query pages and aggregate usage | COMMENT |
| LOW | backend/dashboard_metrics/services.py | 928 | # Step 6: Build results sorted by total_tokens descending | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 324 | # Step 1: Validate and parse input data | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 327 | # Step 2: Setup execution context. The terminal guard inside it may skip a | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 341 | # Step 3: Handle manual review logic | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 344 | # Step 4: Pre-create file executions | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 347 | # Step 5: Process individual files | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 350 | # Step 7: Compile and return final result | COMMENT |
| LOW⚡ | workers/tests/test_plugin_migration_regression.py | 429 | # Step 1: "Discover" a cloud executor via entry point | COMMENT |
| LOW⚡ | workers/tests/test_plugin_migration_regression.py | 442 | # Step 2: Verify registration | COMMENT |
| LOW⚡ | workers/tests/test_plugin_migration_regression.py | 445 | # Step 3: Dispatch via a fake executor transport | COMMENT |
| LOW⚡ | workers/tests/test_plugin_migration_regression.py | 460 | # Step 4: Verify result | COMMENT |
| LOW⚡ | workers/tests/test_plugin_migration_regression.py | 464 | # Step 5: Verify queue routing | COMMENT |
| LOW | workers/scheduler/tasks.py | 135 | # Step 1: Create workflow execution via internal API using dataclass | COMMENT |
| LOW | workers/scheduler/tasks.py | 165 | # Step 2: Trigger async workflow execution | COMMENT |
| LOW | workers/shared/processing/file_discovery.py | 596 | # Step 1: Collect and sort all files (load into memory) | COMMENT |
| LOW | workers/shared/processing/file_discovery.py | 624 | # Step 2: Process in chunks with FilterPipeline | COMMENT |
| LOW⚡ | workers/shared/processing/files/processor.py | 603 | # Step 2: Check file history (if enabled) | COMMENT |
| LOW⚡ | workers/shared/processing/files/processor.py | 611 | # Step 3: Execute workflow processing (always run tools first) | COMMENT |
| LOW⚡ | workers/shared/processing/files/processor.py | 628 | # Step 5: Tool execution completed - destination processing will handle routing | COMMENT |
| LOW | workers/shared/processing/files/processor.py | 557 | # Step 1: Check if file is already executed (cached) | COMMENT |
| LOW | workers/shared/workflow/connectors/source.py | 374 | # Step 1: Get ALL active workflow executions (matching backend _get_active_workflow_executions) | COMMENT |
| LOW⚡ | workers/shared/workflow/connectors/source.py | 409 | # Step 2: For each active execution, get file executions (matching backend loop) | COMMENT |
| LOW⚡ | workers/shared/workflow/execution/service.py | 153 | # Step 1: Setup & Validation | COMMENT |
| LOW⚡ | workers/shared/workflow/execution/service.py | 275 | # Step 3: Process Output - Let destination handle EVERYTHING | COMMENT |
| LOW⚡ | workers/shared/workflow/execution/service.py | 781 | # Step 1: Compile workflow | COMMENT |
| LOW⚡ | workers/shared/workflow/execution/service.py | 785 | # Step 2: Prepare input file and metadata | COMMENT |
| LOW⚡ | workers/shared/workflow/execution/service.py | 849 | # Step 3: Build and execute workflow | COMMENT |
| LOW | workers/shared/workflow/execution/service.py | 106 | # Step 0: Check if file execution is already completed (resume capability) | COMMENT |
| LOW | workers/shared/workflow/execution/service.py | 180 | # Step 2: Execute Workflow | COMMENT |
| LOW | workers/shared/workflow/execution/service.py | 351 | # Step 4: Build Final Result | COMMENT |
| LOW⚡ | workers/executor/executors/legacy_executor.py | 500 | # Step 2: Optional summarize | COMMENT |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | backend/workflow_manager/internal_views.py | 2037 | # Step 3: Build comprehensive workflow definition using dataclasses | COMMENT |
| MEDIUM | backend/workflow_manager/internal_views.py | 119 | # Build comprehensive context | COMMENT |
| MEDIUM | backend/workflow_manager/internal_views.py | 304 | # Build comprehensive source config | COMMENT |
| MEDIUM | backend/workflow_manager/internal_views.py | 455 | # Build comprehensive destination config | COMMENT |
| MEDIUM⚡ | backend/workflow_manager/workflow_v2/execution.py | 176 | # Delegate to the model method, which owns the single, robust terminal-one-way | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/views.py | 421 | # Build comprehensive context | COMMENT |
| MEDIUM | backend/backend/internal_base_urls.py | 24 | """Internal API root endpoint with comprehensive documentation.""" | STRING |
| MEDIUM | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 2823 | """Export project settings as a comprehensive JSON structure. | STRING |
| MEDIUM | backend/usage_v2/helper.py | 302 | """Get comprehensive trial usage statistics for an organization. | STRING |
| MEDIUM | backend/usage_v2/views.py | 100 | """Retrieves comprehensive trial usage statistics for the current organization. | STRING |
| MEDIUM⚡ | …r_v2/management/commands/manage_deprecated_adapters.py | 251 | """Generate comprehensive deprecation report.""" | STRING |
| MEDIUM | workers/tests/test_orchestration_idempotency.py | 90 | # globals is simply robust to either loading. | COMMENT |
| MEDIUM⚡ | workers/tests/test_barrier.py | 650 | # match a misconfigured-harness ``AssertionError`` or any | COMMENT |
| MEDIUM⚡ | workers/tests/test_barrier.py | 652 | # harness misconfiguration as a passing assertion. | COMMENT |
| MEDIUM | workers/shared/clients/base_client.py | 248 | """Enhanced HTTP request with robust error handling and retry logic. | STRING |
| LOW⚡ | workers/shared/cache/cache_decorator.py | 129 | # No cache available, just call the method | COMMENT |
| LOW⚡ | workers/shared/cache/cache_decorator.py | 133 | # If anything goes wrong with caching, just call the original method | COMMENT |
| MEDIUM | workers/shared/processing/file_discovery.py | 225 | # Log comprehensive metrics | COMMENT |
| MEDIUM | workers/shared/processing/file_discovery.py | 578 | # Metrics tracking for comprehensive analysis | COMMENT |
| MEDIUM | workers/shared/processing/file_discovery.py | 609 | # Log comprehensive metrics even for empty results | COMMENT |
| MEDIUM | workers/shared/processing/file_discovery.py | 636 | # Log comprehensive metrics | COMMENT |
| MEDIUM | workers/shared/processing/files/utils.py | 24 | """Standardized file hash conversion with comprehensive error handling. | STRING |
| MEDIUM | workers/shared/workflow/execution/service.py | 85 | """Execute workflow with clean, linear flow and comprehensive result propagation.""" | STRING |
| MEDIUM | workers/shared/api/internal_client.py | 1495 | """Enhanced HTTP request with robust error handling and retry logic.""" | STRING |
| MEDIUM | workers/shared/infrastructure/monitoring/health.py | 265 | """Run all health checks and return comprehensive health report. | STRING |
| LOW | workers/shared/infrastructure/caching/cache_utils.py | 533 | # For now, just call the function (can be enhanced with specific caching logic) | COMMENT |
| MEDIUM | workers/callback/tasks.py | 1199 | # Create comprehensive result | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | runner/src/unstract/runner/controller/run.py | 38 | CODE | |
| LOW | runner/src/unstract/runner/controller/run.py | 58 | CODE | |
| LOW | backend/workflow_manager/endpoint_v2/database_utils.py | 83 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/workflow_helper.py | 309 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/workflow_helper.py | 570 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/execution.py | 36 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/execution.py | 125 | CODE | |
| LOW | backend/middleware/exception.py | 93 | CODE | |
| LOW | backend/pg_queue/producer.py | 103 | CODE | |
| LOW | backend/pg_queue/tests/test_mirror_pg_periodic_tasks.py | 41 | CODE | |
| LOW | backend/api_v2/deployment_helper.py | 184 | CODE | |
| LOW | backend/account_v2/serializer.py | 42 | CODE | |
| LOW | backend/account_v2/serializer.py | 55 | CODE | |
| LOW | backend/account_v2/serializer.py | 75 | CODE | |
| LOW | workers/notification/tasks.py | 239 | CODE | |
| LOW | workers/queue_backend/pg_queue/consumer.py | 275 | CODE | |
| LOW | workers/queue_backend/pg_queue/task_payload.py | 28 | CODE | |
| LOW | workers/tests/test_answer_prompt.py | 21 | CODE | |
| LOW | workers/tests/test_answer_prompt.py | 50 | CODE | |
| LOW | workers/shared/clients/webhook_client.py | 51 | CODE | |
| LOW | workers/shared/clients/file_client.py | 767 | CODE | |
| LOW | workers/shared/clients/execution_client.py | 265 | CODE | |
| LOW | workers/shared/api/internal_client.py | 600 | CODE | |
| LOW | workers/shared/api/internal_client.py | 1094 | CODE | |
| LOW | workers/shared/api/internal_client.py | 1232 | CODE | |
| LOW | workers/shared/infrastructure/database/utils.py | 147 | CODE | |
| LOW | workers/executor/executors/answer_prompt.py | 267 | CODE | |
| LOW | workers/executor/executors/answer_prompt.py | 360 | CODE | |
| LOW | …stract/flags/flipt_grpc/flipt/flipt_simple_pb2_grpc.py | 54 | CODE | |
| LOW | …pt_grpc/flipt/evaluation/evaluation_simple_pb2_grpc.py | 86 | CODE | |
| LOW | …pt_grpc/flipt/evaluation/evaluation_simple_pb2_grpc.py | 115 | CODE | |
| LOW | …pt_grpc/flipt/evaluation/evaluation_simple_pb2_grpc.py | 144 | CODE | |
| LOW | unstract/core/src/unstract/core/pubsub_helper.py | 79 | CODE | |
| LOW | unstract/sdk1/src/unstract/sdk1/index.py | 223 | CODE | |
| LOW | unstract/sdk1/src/unstract/sdk1/llm.py | 219 | CODE | |
| LOW | unstract/sdk1/src/unstract/sdk1/llm.py | 1357 | CODE | |
| LOW | …tract/tool-sandbox/src/unstract/tool_sandbox/helper.py | 663 | CODE | |
| LOW | …tract/tool-sandbox/src/unstract/tool_sandbox/helper.py | 680 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/rig/cli.py | 1126 | `cd workdir && pytest <paths>` does not pin config to workdir — pytest walks | STRING |
| HIGH | backend/api_v2/postman_collection/dto.py | 198 | "let response = null;", | CODE |
| HIGH | backend/api_v2/postman_collection/dto.py | 204 | "if (response && response.message && response.message.execution_id) {", # noqa: E501 | CODE |
| HIGH | …/prompt_studio/prompt_studio_core_v2/internal_views.py | 130 | "profile_manager_id": str | null, | STRING |
| HIGH | workers/queue_backend/pg_barrier.py | 899 | " results = results || jsonb_build_array(%s::jsonb), " | CODE |
| HIGH | workers/tests/test_executor_dispatch.py | 127 | # org_id=None must serialise to JSON null, not get dropped or | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/tenant_account_v2/tests.py | 81 | self.admin = _make_user("admin@example.com") | CODE |
| LOW | backend/permissions/tests/base.py | 134 | self.admin = make_user("admin@example.com") | CODE |
| LOW | …_studio/prompt_studio_registry_v2/tests/test_models.py | 41 | self.admin = _make_user("admin@example.com") | CODE |
| LOW⚡ | backend/account_v2/tests.py | 45 | self.admin = _make_member(self.org, "admin@example.com", UserRole.ADMIN.value) | CODE |
| LOW⚡ | backend/account_v2/tests.py | 60 | member = _make_member(self.org, "user@example.com", UserRole.USER.value) | CODE |
| LOW⚡ | workers/tests/test_answer_prompt.py | 948 | custom_data={"company_name": "Acme Inc"}, | CODE |
| LOW | workers/tests/test_answer_prompt.py | 371 | response2.text = "user@example.com" | CODE |
| LOW | workers/tests/test_answer_prompt.py | 387 | assert result.data[PSKeys.OUTPUT]["field_a"] == "user@example.com" | CODE |
| LOW | …onnectors/databases/postgresql/static/json_schema.json | 54 | "placeholder": "Enter schema (optional)" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/sample.compose.override.yaml | 3 | # Usage: | COMMENT |
| LOW | docker/compose.debug.yaml | 3 | # Usage: | COMMENT |
| LOW | docker/scripts/resolve_container_svc_from_host.sh | 6 | # Usage: | COMMENT |
| LOW | docker/scripts/merge_env.py | 2 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …rc/components/deployments/display-code/DisplayCode.jsx | 61 | print('Response:', response.json()) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …tool-sandbox/src/unstract/tool_sandbox/tool_sandbox.py | 44 | # make sure to return str instead of UUId | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | unstract/sdk1/tests/test_stream_connection_release.py | 220 | def handle_request( | CODE |