LLM-Driven Extraction of Unstructured Data — Built for API Deployments & ETL Pipeline Workflows
This report presents the forensic synthetic code analysis of Zipstack/unstract, a Python project with 6,706 GitHub stars. SynthScan v2.0 examined 277,077 lines of code across 1914 source files, recording 5364 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 27.9 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 5364 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/classifier/src/helper.py | 54 | def copy_source_to_output_bin( | CODE |
| LOW | …d/src/components/custom-tools/pdf-viewer/PdfViewer.jsx | 86 | 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 | 73 | function getAndUpdateFiles(path) { | CODE |
| LOW | …deployments/api-deployment/ApiDeploymentCardConfig.jsx | 28 | function createApiDeploymentCardConfig({ | CODE |
| LOW | frontend/src/pages/UnstractAdministrationPage.jsx | 16 | function UnstractAdministrationPage() { | CODE |
| LOW | frontend/src/helpers/GetStaticData.js | 476 | function getLLMModelNamesForProfiles(profiles, adapters) { | CODE |
| LOW | runner/src/unstract/runner/runner.py | 217 | def _get_sidecar_container_config( | CODE |
| LOW | runner/src/unstract/runner/runner.py | 335 | 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 | 181 | def _validate_dep_targets_exist(groups: dict[str, GroupDefinition]) -> None: | CODE |
| LOW | tests/rig/groups.py | 202 | 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 | 614 | def _db_env_from_postgres_url(url: str) -> dict[str, str]: | CODE |
| LOW | tests/rig/cli.py | 664 | def _coverage_attesting_groups(results: list[GroupResult]) -> set[str]: | CODE |
| LOW | tests/rig/selection.py | 72 | 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_passed_critical_path_ids_collects_only_passing_marked_tests( | CODE |
| LOW | tests/rig/tests/test_reporting.py | 141 | def test_passed_critical_path_ids_missing_or_malformed_junit(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_runtime.py | 15 | def test_infra_endpoints_rejects_partial_redis_pair() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_runtime.py | 25 | def test_infra_endpoints_rejects_partial_rabbitmq_pair() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_runtime.py | 32 | def test_infra_endpoints_allows_fully_specified_pairs() -> None: | CODE |
| LOW | tests/rig/tests/test_runtime.py | 44 | def test_infra_endpoints_allows_all_none() -> None: | CODE |
| LOW | tests/rig/tests/test_runtime.py | 49 | def test_platform_endpoints_from_env_uses_defaults(monkeypatch) -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_critical_paths.py | 28 | def test_covered_when_covering_group_is_green() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_critical_paths.py | 35 | def test_gap_when_no_covering_group_and_no_baseline() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_critical_paths.py | 41 | def test_gap_when_covered_by_is_empty() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_critical_paths.py | 51 | def test_regression_when_baseline_covered_but_now_not() -> None: | CODE |
| LOW⚡ | tests/rig/tests/test_critical_paths.py | 61 | def test_baseline_merge_unions_with_existing(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 88 | def test_duplicate_path_ids_rejected() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 96 | def test_critical_path_status_rejects_contradictions() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 110 | def test_load_baseline_raises_on_corrupt_file(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 120 | def test_merge_raises_on_corrupt_existing_baseline(tmp_path: Path) -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 132 | def test_scope_demotes_out_of_scope_regressions_to_gaps() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 161 | def test_in_scope_flag_distinguishes_gap_flavours() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 186 | def test_covered_path_is_in_scope() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 198 | def test_scope_none_preserves_legacy_behavior() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 218 | def test_marker_proof_covered_when_group_green_and_proven() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 227 | def test_marker_proof_gap_when_group_green_but_unproven() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 240 | def test_marker_proof_regression_when_baseline_covered_but_unproven() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 251 | def test_marker_proof_requires_green_group_too() -> None: | CODE |
| LOW | tests/rig/tests/test_critical_paths.py | 262 | def test_marker_proof_does_not_affect_group_proof_paths() -> None: | CODE |
| 2080 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tox.ini | 71 | # ── Legacy aliases ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docker/docker-compose.yaml | 202 | # ==================================================================== | COMMENT |
| MEDIUM | docker/docker-compose.yaml | 204 | # ==================================================================== | COMMENT |
| MEDIUM | tests/groups.yaml | 18 | # ── Unit tier: pure pytest, no external services ─────────────────────────── | COMMENT |
| MEDIUM | tests/groups.yaml | 105 | # ── Integration tier: needs infra but not full platform ──────────────────── | COMMENT |
| MEDIUM | tests/groups.yaml | 143 | # ── E2E tier: real HTTP against running platform ─────────────────────────── | COMMENT |
| MEDIUM | tests/rig/cli.py | 197 | # ── subcommands ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/rig/cli.py | 611 | # ── execution helpers ───────────────────────────────────────────────────────── | 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 | 623 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | backend/workflow_manager/workflow_v2/views.py | 625 | # ============================================================================= | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/views.py | 359 | # ============================================================================= | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/views.py | 361 | # ============================================================================= | COMMENT |
| MEDIUM | backend/tenant_account_v2/sharing_helpers.py | 302 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | backend/tenant_account_v2/sharing_helpers.py | 304 | # --------------------------------------------------------------------------- | 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 | 478 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 480 | # ------------------------------------------------------------------ | 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 | 372 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 374 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 501 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 503 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 576 | # ============================================================================= | COMMENT |
| MEDIUM | workers/run-worker-docker.sh | 578 | # ============================================================================= | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 63 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 66 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 119 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 121 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 210 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 212 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 576 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 578 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workers/tests/test_sanity_phase2.py | 48 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | workers/tests/test_sanity_phase2.py | 50 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_sanity_phase2.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_sanity_phase2.py | 30 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_sanity_phase2.py | 86 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_sanity_phase2.py | 88 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | workers/tests/test_sanity_phase2.py | 276 | # =========================================================================== | COMMENT |
| MEDIUM | workers/tests/test_sanity_phase2.py | 278 | # =========================================================================== | 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 |
| 296 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 | 289 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/runner.py | 373 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/runner.py | 507 | except Exception as e: | CODE |
| LOW | runner/src/unstract/runner/runner.py | 563 | 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 | 216 | except Exception: | CODE |
| LOW | tests/rig/runtime.py | 228 | except Exception as exc: | CODE |
| LOW | tests/rig/cli.py | 288 | except Exception: | CODE |
| LOW | tests/rig/cli.py | 505 | except Exception as exc: | 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 | 326 | except Exception as e: | CODE |
| LOW | …aude/skills/adapter-ops/references/adapter_patterns.md | 610 | 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 | backend/workflow_manager/internal_serializers.py | 80 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 88 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 147 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 181 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 221 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 258 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 333 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 373 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 435 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_api_views.py | 442 | 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 | 151 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 254 | except Exception as source_error: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 281 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 374 | except Exception as endpoint_error: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 405 | except Exception as source_error: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 434 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 462 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 527 | except Exception as e: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 609 | except Exception as file_error: | CODE |
| LOW | backend/workflow_manager/internal_views.py | 637 | except Exception as e: | CODE |
| 962 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 | 1117 | 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 | 390 | Get celery task status. Args: execution_id (str): workflow execution id Raises: | STRING |
| HIGH | backend/workflow_manager/workflow_v2/workflow_helper.py | 1043 | 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 | 363 | 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 | 30 | Validate execution count parameter is a non-negative integer. Args: value: The value to validate | STRING |
| HIGH | backend/workflow_manager/workflow_v2/views.py | 194 | 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 | 169 | 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 | 327 | 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/deployment_helper.py | 527 | 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 | 1510 | 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 | 1788 | Utility function to invoke prompt service. Used internally. Args: tool (CustomTool): CustomTool ins | STRING |
| HIGH | backend/prompt_studio/prompt_studio_core_v2/views.py | 421 | 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 | 153 | 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 | 84 | 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 | 218 | Get the adapter instance by its ID. Parameters: - adapter_instance_id (str): The ID of the adapter inst | STRING |
| HIGH | backend/adapter_processor_v2/adapter_processor.py | 261 | 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 | workers/notification/tasks.py | 72 | Universal notification processor. This task routes notifications to the appropriate provider based on type. It | STRING |
| HIGH | workers/notification/tasks.py | 240 | 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 | 290 | Validate and parse input data into typed dataclass. Args: file_batch_data: Raw input dictionary Return | STRING |
| HIGH | workers/file_processing/tasks.py | 325 | 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 | 217 | 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 |
| HIGH | workers/shared/patterns/retry/utils.py | 188 | Execute function with circuit breaker protection. Args: func: Function to execute *args | STRING |
| HIGH | workers/shared/patterns/factory/client_factory.py | 86 | Create a specialized client with proper fallback handling. Args: client_type: Type of client to cre | STRING |
| 65 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/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/tests/test_sanity_phase2.py | 0 | configure the real 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_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_sanity_phase2.py | 0 | run execute_extraction task via task.apply() (eager-safe). | STRING |
| HIGH | workers/tests/test_executor_sanity.py | 0 | run execute_extraction task via task.apply() (eager-safe). | STRING |
| HIGH | workers/tests/test_sanity_phase4.py | 0 | run execute_extraction task via task.apply() (eager-safe). | STRING |
| HIGH | workers/tests/test_sanity_phase5.py | 0 | run execute_extraction task via task.apply() (eager-safe). | STRING |
| HIGH | workers/tests/test_line_item_extraction.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_sanity_phase6j.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_sanity_phase4.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_sanity_phase6i.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/tests/test_sanity_phase5.py | 0 | configure executor celery app for eager-mode testing. | STRING |
| HIGH | workers/executor/executors/retrievers/automerging.py | 0 | retrieve text chunks using llamaindex's native keywordtableindex. returns: set[str]: a set of text chunks retrieved from | STRING |
| HIGH | workers/executor/executors/retrievers/recursive.py | 0 | retrieve text chunks using llamaindex's native keywordtableindex. returns: set[str]: a set of text chunks retrieved from | STRING |
| HIGH | workers/executor/executors/retrievers/keyword_table.py | 0 | retrieve text chunks using llamaindex's native keywordtableindex. returns: set[str]: a set of text chunks retrieved from | STRING |
| HIGH | …ctors/src/unstract/connectors/databases/unstract_db.py | 0 | gets the python datatype of value and converts python datatype to corresponding db datatype. args: value (str): python d | STRING |
| HIGH | …unstract/connectors/databases/postgresql/postgresql.py | 0 | gets the python datatype of value and converts python datatype to corresponding db datatype. args: value (str): python d | STRING |
| 45 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 | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/internal_views.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/internal_views.py | 548 | 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/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 | 10 | 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 | 61 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/workflow_v2/workflow_helper.py | 421 | 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 | 20 | 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 | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | backend/workflow_manager/workflow_v2/execution.py | 407 | 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 | 30 | 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 | 16 | 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 | 65 | 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 | 395 | 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 | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | backend/tool_instance_v2/tool_instance_helper.py | 35 | 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 | 13 | 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 |
| LOW | …ckend/tenant_account_v2/organization_member_service.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ckend/tenant_account_v2/organization_member_service.py | 82 | def set_member_role(member_id: int, role: str) -> None: | CODE |
| LOW | backend/tenant_account_v2/sharing_helpers.py | 46 | logger = logging.getLogger(__name__) | CODE |
| 376 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | 12 | 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/auth/test_login.py | 7 | CODE | |
| LOW | …kend/workflow_manager/execution/serializer/__init__.py | 1 | CODE | |
| LOW | backend/workflow_manager/execution/views/__init__.py | 1 | 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 | backend/workflow_manager/workflow_v2/dto.py | 1 | CODE | |
| LOW | …ckend/workflow_manager/workflow_v2/filters/__init__.py | 1 | CODE | |
| LOW | …flow_manager/workflow_v2/tests/test_workflow_author.py | 11 | 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/tenant_account_v2/apps.py | 9 | CODE | |
| LOW | backend/tenant_account_v2/apps.py | 9 | CODE | |
| LOW | backend/tenant_account_v2/sharing_helpers.py | 25 | CODE | |
| LOW | backend/platform_api/services.py | 1 | CODE | |
| LOW | backend/platform_api/apps.py | 9 | CODE | |
| LOW | backend/utils/cors_origin.py | 7 | CODE | |
| LOW | backend/utils/dto.py | 1 | CODE | |
| LOW | backend/utils/date/enums.py | 1 | CODE | |
| LOW | backend/utils/date/__init__.py | 1 | CODE | |
| LOW | backend/utils/date/__init__.py | 2 | CODE | |
| LOW | backend/utils/date/__init__.py | 3 | CODE | |
| LOW | backend/utils/date/__init__.py | 3 | CODE | |
| LOW | backend/utils/date/__init__.py | 4 | CODE | |
| LOW | backend/utils/date/__init__.py | 4 | CODE | |
| LOW | backend/utils/date/__init__.py | 5 | CODE | |
| LOW | backend/utils/file_storage/helpers/streaming_writer.py | 3 | CODE | |
| LOW | backend/utils/tests/test_cors_origin.py | 10 | CODE | |
| LOW | backend/utils/tests/test_prompt_studio_file_helper.py | 3 | CODE | |
| LOW | backend/utils/request/__init__.py | 1 | CODE | |
| LOW | backend/utils/request/__init__.py | 1 | CODE | |
| LOW | backend/notification_v2/tasks.py | 18 | CODE | |
| LOW | backend/notification_v2/clubbed_renderer.py | 11 | CODE | |
| 357 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 | docker/scripts/uv-lock-gen/uv-lock.sh | 28 | # Check if a directory's own pyproject.toml or any of its local | 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 | 174 | # Check if pipeline_id references a Pipeline or APIDeployment (like serializer) | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 188 | # Check if it's an APIDeployment (like serializer does) | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 363 | # Check if workflow has API deployments | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 1910 | # Check if this is a regular pipeline (ETL/TASK/APP) | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 2477 | # 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 | 28 | # Check if all required environment variables are set | COMMENT |
| LOW | …ion-connectors/test_destination_connector_snowflake.py | 28 | # Check if all required environment variables are set | COMMENT |
| LOW | …ination-connectors/test_destination_connector_mssql.py | 25 | # Check if all required environment variables are set | COMMENT |
| LOW | …nation-connectors/test_destination_connector_oracle.py | 27 | # Check if all required environment variables are set | COMMENT |
| LOW | …tion-connectors/test_destination_connector_redshift.py | 25 | # Check if all required environment variables are set | COMMENT |
| LOW | …ination-connectors/test_destination_connector_mysql.py | 27 | # 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 | 1374 | # Check if file already has completed history | COMMENT |
| LOW⚡ | …ckend/workflow_manager/workflow_v2/models/execution.py | 381 | # 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 | 196 | # Check if the workflow exists | COMMENT |
| LOW⚡ | backend/tool_instance_v2/serializers.py | 202 | # Check if the number of tool instances matches the actual count | COMMENT |
| LOW⚡ | backend/tool_instance_v2/serializers.py | 212 | # Check if each tool instance exists in the workflow | COMMENT |
| LOW | backend/tool_instance_v2/tool_instance_helper.py | 313 | # Check if any adapter value is in UUID format (indicates already migrated) | COMMENT |
| LOW | backend/tool_instance_v2/tool_instance_helper.py | 358 | # 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 | 200 | # Check if the file type is in the allowed list | COMMENT |
| LOW | …tils/file_storage/helpers/prompt_studio_file_helper.py | 187 | # Check if the file type is in the allowed list | COMMENT |
| LOW | backend/connector_v2/serializers.py | 101 | # Check if OAuth tokens are actually present in metadata | COMMENT |
| LOW | backend/connector_v2/unstract_account.py | 29 | # 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 | 158 | # Check if this workflow already has an active API deployment | COMMENT |
| LOW | backend/api_v2/serializers.py | 285 | # Check if HITL feature is available | COMMENT |
| LOW | backend/api_v2/serializers.py | 406 | # Check if profile exists | COMMENT |
| LOW | backend/api_v2/serializers.py | 418 | # Check if the profile owner matches the API key owner | COMMENT |
| LOW | backend/api_v2/serializers.py | 443 | # Check if UUID exists in the database | COMMENT |
| LOW | backend/api_v2/deployment_helper.py | 296 | # 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 |
| 125 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 | 368 | # Create the table first if it doesn't exist | COMMENT |
| MEDIUM | …ination-connectors/test_destination_connector_mysql.py | 365 | # Create the table first if it doesn't exist | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/workflow_helper.py | 742 | # 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 | 154 | # Create the workflow execution | COMMENT |
| MEDIUM | backend/tool_instance_v2/serializers.py | 72 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | backend/scheduler/tasks.py | 29 | # Create a crontab schedule | COMMENT |
| MEDIUM | backend/utils/log_events.py | 51 | """This function is called when a client connects to the server. | STRING |
| MEDIUM | …tils/file_storage/helpers/prompt_studio_file_helper.py | 234 | """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 | 214 | # Create a PostmanCollection for a Pipeline | COMMENT |
| MEDIUM | backend/prompt_studio/prompt_studio_core_v2/views.py | 1067 | # Create a record in the db for the file (document_name = original filename) | COMMENT |
| MEDIUM | backend/prompt_studio/prompt_studio_core_v2/views.py | 1071 | # Create a dictionary to store document data | COMMENT |
| MEDIUM | backend/prompt_studio/prompt_studio_core_v2/views.py | 1304 | # Create a backup copy if requested | COMMENT |
| MEDIUM | backend/adapter_processor_v2/serializers.py | 93 | # 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 | 266 | # Initialize state variables | COMMENT |
| MEDIUM⚡ | workers/tests/test_sanity_phase6e.py | 89 | # 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 | 268 | # Create a simple PDF with one line of text | COMMENT |
| MEDIUM | …ctors/src/unstract/connectors/databases/unstract_db.py | 347 | # 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 | 329 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 645 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 763 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 1025 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 1129 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 1288 | # Create a copy to avoid mutating the original metadata | COMMENT |
| MEDIUM | …stract/sdk1/adapters/vectordb/weaviate/src/weaviate.py | 79 | # Create the colletion | COMMENT |
| MEDIUM | …dk1/adapters/x2text/llm_whisperer/src/llm_whisperer.py | 389 | # Define the directory of the output file and metadata paths | COMMENT |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 334 | // Step 1: Export tool | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 349 | // Step 2: Create workflow with unique name based on API deployment name | COMMENT |
| LOW⚡ | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 363 | // Step 3: Configure endpoints with API connection type | COMMENT |
| LOW⚡ | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 366 | // Step 4: Add tool instance to workflow | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 382 | // Step 5: Update tool instance with proper metadata | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 407 | // 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 | 904 | # Step 2: Build OR conditions for file matching: (uuid1 AND path1) OR (uuid2 AND path2) OR ... | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 911 | # Step 3: Execute bulk query on workflow_file_executions from active workflow executions only | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 989 | # Step 2: Extract UUIDs for IN query | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 992 | # Step 3: Execute bulk query on workflow_file_executions from active workflow executions only | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1641 | # Step 1: Get source configuration with graceful error handling | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1644 | # Step 2: Get destination configuration with graceful error handling | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1649 | # Step 3: Build comprehensive workflow definition using dataclasses | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 884 | # Step 1: Get ACTIVE workflow executions for this workflow | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 969 | # Step 1: Get ACTIVE workflow executions for this workflow | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 415 | # # Step 1: Create a legacy table manually (simulating old table structure) | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 419 | # Step 2: Verify table is detected as legacy | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 424 | # Step 3: Trigger migration using the real migration flow | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 428 | # Step 4: Verify migration was successful | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 432 | # Step 5: Test dual column writing (legacy + v2) | 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 | 244 | # Step 1: Validate and parse input data | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 247 | # Step 2: Setup execution context | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 250 | # Step 3: Handle manual review logic | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 253 | # Step 4: Pre-create file executions | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 256 | # Step 5: Process individual files | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 259 | # Step 7: Compile and return final result | COMMENT |
| LOW⚡ | workers/tests/test_sanity_phase6j.py | 442 | # Step 2: Verify registration | COMMENT |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | backend/workflow_manager/internal_views.py | 160 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 287 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 562 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 719 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 1208 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 1678 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 1769 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 1871 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 1976 | CODE | |
| LOW | backend/workflow_manager/internal_views.py | 2071 | CODE | |
| LOW | backend/workflow_manager/utils/pipeline_utils.py | 17 | CODE | |
| LOW | …kend/workflow_manager/file_execution/internal_views.py | 272 | CODE | |
| LOW | …kend/workflow_manager/file_execution/internal_views.py | 410 | CODE | |
| LOW | …kend/workflow_manager/file_execution/internal_views.py | 506 | 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 | 730 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 1118 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 1150 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 1327 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 413 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/views.py | 459 | 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 | 68 | CODE | |
| LOW | backend/tool_instance_v2/tool_instance_helper.py | 403 | CODE | |
| LOW | backend/tool_instance_v2/internal_views.py | 108 | CODE | |
| LOW | backend/scheduler/tasks.py | 72 | CODE | |
| LOW | backend/utils/cache_service.py | 48 | CODE | |
| LOW | …tils/file_storage/helpers/prompt_studio_file_helper.py | 112 | CODE | |
| LOW | backend/utils/request/request.py | 19 | CODE | |
| LOW | backend/notification_v2/internal_views.py | 412 | CODE | |
| LOW | backend/backend/internal_base_urls.py | 58 | CODE | |
| LOW | backend/pipeline_v2/serializers/crud.py | 258 | CODE | |
| LOW | backend/api_v2/deployment_helper.py | 150 | CODE | |
| LOW | backend/api_v2/deployment_helper.py | 526 | CODE | |
| LOW | backend/api_v2/exceptions.py | 137 | CODE | |
| LOW | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 2956 | CODE | |
| LOW | …pt_studio_registry_v2/prompt_studio_registry_helper.py | 227 | CODE | |
| LOW | …_studio_index_manager_v2/prompt_studio_index_helper.py | 71 | CODE | |
| LOW | backend/adapter_processor_v2/adapter_processor.py | 112 | CODE | |
| LOW | backend/adapter_processor_v2/views.py | 200 | CODE | |
| LOW | …r_v2/management/commands/manage_deprecated_adapters.py | 57 | CODE | |
| LOW | …r_v2/management/commands/manage_deprecated_adapters.py | 210 | CODE | |
| LOW | backend/account_v2/authentication_controller.py | 526 | CODE | |
| LOW | backend/dashboard_metrics/tasks.py | 398 | CODE | |
| LOW | backend/dashboard_metrics/cache.py | 153 | CODE | |
| 135 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 334 | // Step 1: Export tool | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 349 | // Step 2: Create workflow with unique name based on API deployment name | COMMENT |
| LOW⚡ | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 363 | // Step 3: Configure endpoints with API connection type | COMMENT |
| LOW⚡ | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 366 | // Step 4: Add tool instance to workflow | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 382 | // Step 5: Update tool instance with proper metadata | COMMENT |
| LOW | …-prompt-studio/CreateApiDeploymentFromPromptStudio.jsx | 407 | // 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 | 904 | # Step 2: Build OR conditions for file matching: (uuid1 AND path1) OR (uuid2 AND path2) OR ... | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 911 | # Step 3: Execute bulk query on workflow_file_executions from active workflow executions only | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 989 | # Step 2: Extract UUIDs for IN query | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 992 | # Step 3: Execute bulk query on workflow_file_executions from active workflow executions only | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1641 | # Step 1: Get source configuration with graceful error handling | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1644 | # Step 2: Get destination configuration with graceful error handling | COMMENT |
| LOW⚡ | backend/workflow_manager/internal_views.py | 1649 | # Step 3: Build comprehensive workflow definition using dataclasses | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 884 | # Step 1: Get ACTIVE workflow executions for this workflow | COMMENT |
| LOW | backend/workflow_manager/internal_views.py | 969 | # Step 1: Get ACTIVE workflow executions for this workflow | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 415 | # # Step 1: Create a legacy table manually (simulating old table structure) | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 419 | # Step 2: Verify table is detected as legacy | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 424 | # Step 3: Trigger migration using the real migration flow | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 428 | # Step 4: Verify migration was successful | COMMENT |
| LOW⚡ | …ation-connectors/test_destination_connector_mariadb.py | 432 | # Step 5: Test dual column writing (legacy + v2) | 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 | 244 | # Step 1: Validate and parse input data | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 247 | # Step 2: Setup execution context | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 250 | # Step 3: Handle manual review logic | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 253 | # Step 4: Pre-create file executions | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 256 | # Step 5: Process individual files | COMMENT |
| LOW⚡ | workers/file_processing/tasks.py | 259 | # Step 7: Compile and return final result | COMMENT |
| LOW⚡ | workers/tests/test_sanity_phase6j.py | 429 | # Step 1: "Discover" a cloud executor via entry point | COMMENT |
| LOW⚡ | workers/tests/test_sanity_phase6j.py | 442 | # Step 2: Verify registration | COMMENT |
| LOW⚡ | workers/tests/test_sanity_phase6j.py | 445 | # Step 3: Dispatch via mock Celery | COMMENT |
| LOW⚡ | workers/tests/test_sanity_phase6j.py | 462 | # Step 4: Verify result | COMMENT |
| LOW⚡ | workers/tests/test_sanity_phase6j.py | 466 | # Step 5: Verify queue routing | COMMENT |
| LOW⚡ | workers/tests/test_barrier.py | 185 | # Step 1: chord(header) | COMMENT |
| LOW⚡ | workers/tests/test_barrier.py | 187 | # Step 2: chord_obj(callback_signature) — applies the chord | COMMENT |
| LOW | workers/scheduler/tasks.py | 115 | # Step 1: Create workflow execution via internal API using dataclass | COMMENT |
| LOW | workers/scheduler/tasks.py | 145 | # Step 2: Trigger async workflow execution via direct Celery dispatch | 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 | 499 | # Step 2: Optional summarize | COMMENT |
| 7 more matches not shown… | ||||
| 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⚡ | backend/tool_instance_v2/tool_instance_helper.py | 27 | # Import agentic registry if available (cloud-only feature) | COMMENT |
| MEDIUM | backend/tool_instance_v2/tool_instance_helper.py | 573 | # Not an agentic studio tool either | 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 | …t_studio/prompt_studio_core_v2/prompt_studio_helper.py | 2628 | # Enrich with cloud-only per-prompt settings (table / agentic-table) | COMMENT |
| MEDIUM | backend/adapter_processor_v2/serializers.py | 106 | # Only retrieve context window and icon for available adapters | COMMENT |
| MEDIUM | backend/adapter_processor_v2/serializers.py | 109 | # Retrieve context window if adapter is a LLM | COMMENT |
| MEDIUM⚡ | workers/general/tasks.py | 735 | # The orchestration result contains the chord_id and batch information | COMMENT |
| MEDIUM | workers/general/tasks.py | 274 | # Calculate orchestration time (not total execution time - callback worker calculates that) | COMMENT |
| MEDIUM | workers/general/tasks.py | 561 | # For ETL/TASK workflows, we use file processing orchestration | COMMENT |
| MEDIUM | workers/general/tasks.py | 721 | # Use orchestration method that creates chord and returns immediately | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 288 | # ---- Route agentic vs regular ---- | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 546 | # All-agentic case: skip the legacy pipeline entirely. | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 622 | # Try agentic registry | COMMENT |
| MEDIUM | workers/file_processing/structure_tool_task.py | 695 | # 1. Unpack agentic project metadata (matches registry_helper export format) | COMMENT |
| MEDIUM⚡ | workers/tests/test_phase2f.py | 304 | # 3. agentic operations — handled by AgenticPromptStudioExecutor (cloud) | COMMENT |
| MEDIUM⚡ | workers/tests/test_sanity_phase6j.py | 414 | # Both legacy and agentic contexts can create instances | COMMENT |
| MEDIUM⚡ | workers/tests/test_sanity_phase6j.py | 187 | assert len(Operation) == 19 # 7 legacy + 2 table + 2 sps + 8 agentic | CODE |
| MEDIUM | workers/tests/test_sanity_phase3.py | 453 | # Prompt studio lookup fails, agentic succeeds | COMMENT |
| MEDIUM | workers/tests/test_sanity_phase3.py | 475 | # Simulate successful agentic extraction | COMMENT |
| MEDIUM | workers/tests/test_sanity_phase3.py | 484 | # Should dispatch to agentic executor with agentic_extract operation | COMMENT |
| MEDIUM⚡ | workers/tests/test_sanity_phase6h.py | 148 | # 4. LegacyExecutor does NOT handle agentic operations | COMMENT |
| MEDIUM⚡ | workers/tests/test_sanity_phase6h.py | 197 | # 5. Structure tool routes to agentic executor | COMMENT |
| MEDIUM⚡ | workers/tests/test_sanity_phase6h.py | 241 | # 6. tasks.py log_component for agentic operations | COMMENT |
| MEDIUM | workers/api-deployment/tasks.py | 225 | # Validate orchestration parameters | COMMENT |
| MEDIUM | workers/api-deployment/tasks.py | 232 | # Execute workflow through direct API orchestration | COMMENT |
| MEDIUM | workers/api-deployment/tasks.py | 419 | # TOOL VALIDATION: Validate tool instances before API workflow orchestration | COMMENT |
| MEDIUM | workers/api-deployment/tasks.py | 428 | # TOOL VALIDATION: Validate tool instances before API workflow orchestration | COMMENT |
| MEDIUM⚡ | workers/executor/executors/variable_replacement.py | 187 | # VariableReplacementService — high-level orchestration | COMMENT |
| MEDIUM | workers/executor/executors/legacy_executor.py | 300 | # (used by agentic extraction for PDF source referencing) | COMMENT |
| MEDIUM | …k1/src/unstract/sdk1/adapters/llm1/static/bedrock.json | 74 | "description": "Optional. Apply an [AWS Bedrock Guardrail](https://docs.aws.amazon.com/bedrock/latest/userguide/gu | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | backend/workflow_manager/internal_views.py | 1649 | # 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 | 259 | # Build comprehensive source config | COMMENT |
| MEDIUM | backend/workflow_manager/internal_views.py | 410 | # Build comprehensive destination config | COMMENT |
| MEDIUM | backend/workflow_manager/workflow_v2/views.py | 387 | # 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 | 2459 | """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 | 248 | """Generate comprehensive deprecation report.""" | STRING |
| MEDIUM⚡ | workers/tests/test_barrier.py | 845 | # match a misconfigured-harness ``AssertionError`` or any | COMMENT |
| MEDIUM⚡ | workers/tests/test_barrier.py | 847 | # harness misconfiguration as a passing assertion. | COMMENT |
| MEDIUM | workers/shared/clients/base_client.py | 217 | """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 | 1467 | """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 | 1177 | # Create comprehensive result | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | backend/utils/FileValidator.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | backend/api_v2/key_helper.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …ompt_studio_output_manager_v2/output_manager_helper.py | 5 | 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 |
|---|---|---|---|---|
| LOW | .pre-commit-config.yaml | 61 | - id: pyupgrade | COMMENT |
| LOW | tox.ini | 1 | [tox] | 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/scripts/release-notes/print_release_notes.py | 1 | # type: ignore | COMMENT |
| LOW | frontend/vite.config.js | 21 | 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/agency/cards-list/CardsList.jsx | 81 | // Get pixels to the top | 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/pdfWorkerConfig.js | 1 | // Load the worker file from the installed pdfjs-dist package | COMMENT |
| LOW | frontend/src/helpers/prismSetup.js | 1 | import Prism from "prismjs"; | 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/compose/docker-compose.test.yaml | 1 | # E2E test overlay for docker/docker-compose.yaml. | COMMENT |
| LOW | tests/rig/cli.py | 461 | paths_override=args.paths, | COMMENT |
| LOW | …ation-connectors/test_destination_connector_mariadb.py | 661 | def tearDown(self) -> None: | COMMENT |
| LOW | …ination-connectors/test_destination_connector_mysql.py | 641 | # engine.close() | COMMENT |
| LOW | backend/backend/flowerconfig.py | 1 | # Flower is a real-time web based monitor and administration tool | COMMENT |
| LOW | .github/workflows/create-release.yaml | 341 | COMMENT | |
| LOW | workers/run-worker-docker.sh | 361 | print_status $BLUE "Health Port: $health_port" | COMMENT |
| LOW | workers/notification/providers/registry.py | 21 | PlatformType.API: APIWebhook, | COMMENT |
| LOW | workers/file_processing/tasks.py | 641 | file_hash.file_number = file_number | COMMENT |
| LOW | workers/file_processing/tasks.py | 1661 | # Note: ``successful_files`` here counts every non-error file, | COMMENT |
| LOW | workers/file_processing/structure_tool_task.py | 441 | # ---- Step 6a: Dispatch agentic_table prompts ---- | COMMENT |
| LOW | workers/queue_backend/__init__.py | 101 | # Unreachable — StrEnum constructor would have raised above for | COMMENT |
| LOW | workers/queue_backend/redis_barrier.py | 81 | COMMENT | |
| LOW | workers/queue_backend/redis_barrier.py | 101 | # ``FILE_PROCESSING_TASK_TIME_LIMIT`` is set to in the deployment env | COMMENT |
| LOW | workers/queue_backend/redis_barrier.py | 201 | return {remaining, {}} | COMMENT |
| LOW | workers/queue_backend/redis_barrier.py | 401 | # left from a prior run with the same exec_id; the upfront | COMMENT |
| LOW | workers/queue_backend/redis_barrier.py | 461 | # counter would never reach 0 → execution hangs. | COMMENT |
| LOW | workers/queue_backend/redis_barrier.py | 621 | # More tasks pending — nothing to do. | COMMENT |
| LOW | workers/queue_backend/redis_barrier.py | 661 | # If apply_async raises (broker outage, serialisation error, | COMMENT |
| LOW | workers/tests/test_barrier.py | 101 | # a property, or set in ``__init__``; the instance check is | COMMENT |
| LOW | workers/shared/workflow/execution/service.py | 1701 | connector_id = connector_instance.connector_id | COMMENT |
| LOW | workers/api-deployment/tasks.py | 701 | # contract verbatim: ``None`` is the *sole* signal of "no | COMMENT |
| LOW | …nectors/src/unstract/connectors/filesystems/box/box.py | 61 | # client_id = "" | COMMENT |
| LOW | …/flags/src/unstract/flags/flipt_grpc/flipt/__init__.py | 1 | """Flipt gRPC protobuf definitions.""" | COMMENT |
| LOW | …ore/src/unstract/core/notification_clubbed_renderer.py | 41 | COMMENT | |
| LOW | unstract/core/src/unstract/core/worker_models.py | 281 | result: Any | None = None | COMMENT |
| LOW | unstract/workflow-execution/tests/workflow_test.py | 141 | # { | COMMENT |
| LOW | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 21 | # `top_p`, `top_k`). Anthropic removed the sampling params starting with Claude | COMMENT |
| LOW | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 41 | # - Azure AI Foundry deployments whose name embeds `claude-sonnet-5` | COMMENT |
| LOW | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 181 | COMMENT | |
| LOW | unstract/sdk1/src/unstract/sdk1/adapters/base1.py | 421 | adapter_metadata["api_key"] = None | COMMENT |
| LOW | unstract/sdk1/src/unstract/sdk1/execution/dispatcher.py | 41 | # This controls how long the *caller* waits for the executor to | COMMENT |
| LOW | unstract/filesystem/pyproject.toml | 21 | # [tool.hatch.build.targets.wheel] | 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 | 295 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/workflow_helper.py | 469 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/execution.py | 37 | CODE | |
| LOW | backend/workflow_manager/workflow_v2/execution.py | 126 | CODE | |
| LOW | backend/middleware/exception.py | 93 | CODE | |
| LOW | backend/api_v2/deployment_helper.py | 150 | 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 | 227 | 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/api/internal_client.py | 1081 | CODE | |
| LOW | workers/shared/api/internal_client.py | 1219 | CODE | |
| LOW | workers/shared/infrastructure/database/utils.py | 147 | CODE | |
| LOW | workers/executor/executors/answer_prompt.py | 222 | CODE | |
| LOW | workers/executor/executors/answer_prompt.py | 313 | 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 | 50 | CODE | |
| LOW | unstract/sdk1/src/unstract/sdk1/index.py | 223 | CODE | |
| LOW | unstract/sdk1/src/unstract/sdk1/llm.py | 155 | CODE | |
| LOW | unstract/sdk1/src/unstract/sdk1/llm.py | 952 | 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 | 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 | 50 | "profile_manager_id": str | null, | STRING |
| HIGH | workers/tests/test_executor_dispatch.py | 143 | # 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 | 67 | self.admin = _make_user("admin@example.com") | CODE |
| LOW | …_studio/prompt_studio_registry_v2/tests/test_models.py | 40 | self.admin = _make_user("admin@example.com") | CODE |
| LOW⚡ | backend/account_v2/tests.py | 35 | self.admin = _make_member(self.org, "admin@example.com", UserRole.ADMIN.value) | CODE |
| LOW⚡ | backend/account_v2/tests.py | 50 | 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 | 59 | 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 |