Repository Analysis

arc53/DocsGPT

Private AI platform for agents, assistants and enterprise search. Built-in Agent Builder, Deep research, Document analysis, Multi-model support, and API connectivity for agents.

37.1 Strong AI signal View on GitHub
37.1
Adjusted Score
37.1
Raw Score
100%
Time Factor
2026-05-30
Last Push
17,910
Stars
Python
Language
309,025
Lines of Code
1084
Files
7824
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 47MEDIUM 1599LOW 6178

Pattern Findings

7824 matches across 18 categories. Click a row to expand file-level details.

Decorative Section Separators1464 hits · 5206 pts
SeverityFileLineSnippet
MEDIUMsetup.sh174# ========================
MEDIUMsetup.sh176# ========================
MEDIUMtests/test_events_substrate.py281# ── Topic ───────────────────────────────────────────────────────────────
MEDIUMtests/test_events_substrate.py31# ── keys ────────────────────────────────────────────────────────────────
MEDIUMtests/test_events_substrate.py46# ── stream_id_compare ───────────────────────────────────────────────────
MEDIUMtests/test_events_substrate.py82# ── _format_sse ─────────────────────────────────────────────────────────
MEDIUMtests/test_events_substrate.py117# ── _normalize_last_event_id ────────────────────────────────────────────
MEDIUMtests/test_events_substrate.py148# ── publisher ───────────────────────────────────────────────────────────
MEDIUMtests/test_client_tools.py15# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py17# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py112# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py114# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py194# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py196# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py242# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py244# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py295# ---------------------------------------------------------------------------
MEDIUMtests/test_client_tools.py297# ---------------------------------------------------------------------------
MEDIUMtests/conftest.py50# ---------------------------------------------------------------------------
MEDIUMtests/conftest.py52# ---------------------------------------------------------------------------
MEDIUMtests/conftest.py113# ---------------------------------------------------------------------------
MEDIUMtests/conftest.py115# ---------------------------------------------------------------------------
MEDIUMtests/test_namespaces.py16# ── SystemNamespace ────────────────────────────────────────────────────────────
MEDIUMtests/test_namespaces.py70# ── PassthroughNamespace ───────────────────────────────────────────────────────
MEDIUMtests/test_namespaces.py153# ── ToolsNamespace ─────────────────────────────────────────────────────────────
MEDIUMtests/test_namespaces.py191# ── NamespaceBuilder ABC ──────────────────────────────────────────────────────
MEDIUMtests/test_namespaces.py221# ── NamespaceManager ──────────────────────────────────────────────────────────
MEDIUMtests/test_namespaces.py112# ── SourceNamespace ────────────────────────────────────────────────────────────
MEDIUMtests/test_target_coverage.py16# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py19# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py110# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py113# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py142# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py149# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py303# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py307# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py53# ---------------------------------------------------------------------------
MEDIUMtests/test_target_coverage.py60# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py65# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py67# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py112# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py114# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py193# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py195# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py283# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py285# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py338# ---------------------------------------------------------------------------
MEDIUMtests/test_extra_coverage.py340# ---------------------------------------------------------------------------
MEDIUMtests/test_usage.py476# ── _count_tokens ───────────────────────────────────────────────────────────
MEDIUMtests/test_usage.py389# ── _serialize_for_token_count ──────────────────────────────────────────────
MEDIUMtests/test_usage.py504# ── _count_prompt_tokens ────────────────────────────────────────────────────
MEDIUMtests/test_v1_translator.py23# ---------------------------------------------------------------------------
MEDIUMtests/test_v1_translator.py25# ---------------------------------------------------------------------------
MEDIUMtests/test_v1_translator.py114# ---------------------------------------------------------------------------
MEDIUMtests/test_v1_translator.py116# ---------------------------------------------------------------------------
MEDIUMtests/test_v1_translator.py152# ---------------------------------------------------------------------------
MEDIUMtests/test_v1_translator.py154# ---------------------------------------------------------------------------
MEDIUMtests/test_v1_translator.py194# ---------------------------------------------------------------------------
MEDIUMtests/test_v1_translator.py196# ---------------------------------------------------------------------------
MEDIUMtests/test_v1_translator.py315# ---------------------------------------------------------------------------
1404 more matches not shown…
Hyper-Verbose Identifiers4941 hits · 4533 pts
SeverityFileLineSnippet
LOWmd-gen.py3def create_markdown_from_directory(directory=".", output_file="combined.md"):
LOWfrontend/src/agents/schedules/TimezoneCombobox.tsx64function computeTimezoneOffsetLabel(tz: string): string {
LOWfrontend/src/agents/schedules/cronBuilder.ts169export function parseScheduleToFormValues(
LOWfrontend/src/agents/workflow/workflowPreviewSlice.ts47export function handleWorkflowPreviewAbort() {
LOWfrontend/src/conversation/conversationHandlers.ts243export function handleFetchAnswerSteaming(
LOWfrontend/src/conversation/conversationHandlers.ts890export function handleFetchSharedAnswerStreaming(
LOWtests/test_events_substrate.py62 def test_digit_count_does_not_break_int_compare(self):
LOWtests/test_events_substrate.py67 def test_missing_seq_treated_as_zero(self):
LOWtests/test_events_substrate.py70 def test_malformed_input_raises(self):
LOWtests/test_events_substrate.py166 def test_returns_none_on_missing_user_id(self):
LOWtests/test_events_substrate.py169 def test_returns_none_on_missing_event_type(self):
LOWtests/test_events_substrate.py174 def test_returns_none_when_push_disabled(self, mock_settings, mock_redis):
LOWtests/test_events_substrate.py184 def test_returns_none_when_redis_unavailable(self, mock_settings, mock_redis):
LOWtests/test_events_substrate.py192 def test_returns_none_on_unserializable_payload(
LOWtests/test_events_substrate.py287 def test_publish_returns_zero_when_redis_unavailable(self, mock_redis):
LOWtests/test_events_substrate.py292 def test_publish_calls_redis_publish(self, mock_redis):
LOWtests/test_events_substrate.py301 def test_publish_swallows_exceptions(self, mock_redis):
LOWtests/test_events_substrate.py309 def test_subscribe_returns_immediately_when_redis_unavailable(
LOWtests/test_events_substrate.py317 def test_subscribe_yields_none_on_poll_timeout(self, mock_redis):
LOWtests/test_events_substrate.py42 def test_connection_counter_key(self):
LOWtests/test_events_substrate.py112 def test_terminator_regex_compiles(self):
LOWtests/test_events_substrate.py208 def test_xadd_and_publish_both_invoked_on_happy_path(
LOWtests/test_events_substrate.py255 def test_xadd_failure_skips_live_publish(
LOWtests/test_events_substrate.py335 def test_subscribe_fires_on_subscribe_after_ack(self, mock_redis):
LOWtests/test_events_substrate.py359 def test_subscribe_cleans_up_on_generator_close(self, mock_redis):
LOWtests/test_events_substrate.py377 def test_subscribe_skips_unsubscribe_if_subscribe_never_acked(
LOWtests/test_todo_tool.py74 def update_title_by_tool_and_todo_id(self, user_id, tool_id, todo_id, title):
LOWtests/test_todo_tool.py88 def delete_by_tool_and_todo_id(self, user_id, tool_id, todo_id):
LOWtests/test_todo_tool.py177def test_isolation_per_tool_id(monkeypatch):
LOWtests/test_todo_tool.py205def test_sentinel_tool_id_short_circuits():
LOWtests/test_todo_tool.py215def test_no_user_id_returns_error():
LOWtests/test_client_tools.py54 def test_merge_multiple_tools(self):
LOWtests/test_client_tools.py85 def test_merge_preserves_existing_tools(self):
LOWtests/test_client_tools.py120 def test_client_tools_included_in_llm_schema(self):
LOWtests/test_client_tools.py151 def test_mixed_server_and_client_tools(self):
LOWtests/test_client_tools.py203 def test_get_tools_merges_client_tools(self, monkeypatch):
LOWtests/test_client_tools.py225 def test_get_tools_no_client_tools(self, monkeypatch):
LOWtests/test_client_tools.py258 def test_client_tool_triggers_pause(self):
LOWtests/test_client_tools.py278 def test_server_tool_no_pause(self):
LOWtests/test_client_tools.py320 def test_client_tool_pauses_stream(self):
LOWtests/test_client_tools.py377 def test_mixed_server_and_client_tools_in_batch(self):
LOWtests/test_utils.py36 def test_returns_same_instance(self):
LOWtests/test_utils.py45 def test_returns_llm_name_when_set(self):
LOWtests/test_utils.py52 def test_falls_back_to_provider_map(self):
LOWtests/test_utils.py59 def test_unknown_provider_returns_empty(self):
LOWtests/test_utils.py171 def test_check_required_fields_pass(self):
LOWtests/test_utils.py179 def test_check_required_fields_fail(self):
LOWtests/test_utils.py188 def test_get_field_validation_errors_none_when_valid(self):
LOWtests/test_utils.py192 def test_get_field_validation_errors_missing(self):
LOWtests/test_utils.py197 def test_get_field_validation_errors_empty(self):
LOWtests/test_utils.py202 def test_validate_required_fields_pass(self):
LOWtests/test_utils.py210 def test_validate_required_fields_missing(self):
LOWtests/test_utils.py219 def test_validate_required_fields_empty(self):
LOWtests/test_utils.py227 def test_validate_required_fields_both_missing_and_empty(self):
LOWtests/test_utils.py507 def test_removes_horizontal_rules(self):
LOWtests/test_utils.py512 def test_removes_list_markers(self):
LOWtests/test_utils.py519 def test_normalizes_whitespace(self):
LOWtests/test_utils.py548 def test_removes_underscore_bold(self):
LOWtests/test_utils.py554 def test_removes_underscore_italic(self):
LOWtests/test_utils.py562 def test_max_token_limit_caps_at_model_limit(self):
4881 more matches not shown…
Excessive Try-Catch Wrapping711 hits · 708 pts
SeverityFileLineSnippet
LOWmd-gen.py41 except Exception as e:
MEDIUMmd-gen.py42 print(f"Error processing file {filepath}: {e}")
LOWtests/test_target_coverage.py296 except Exception:
LOWtests/test_target_coverage.py207 except Exception as e:
LOWtests/test_target_coverage.py239 except Exception as e:
LOWtests/test_target_coverage.py260 except Exception as e:
LOWtests/test_integration.py806 except Exception:
LOWtests/test_integration.py815 except Exception as e:
LOWtests/test_integration.py68 except Exception as exc:
LOWtests/test_integration.py183 except Exception as e:
LOWtests/test_integration.py247 except Exception as e:
LOWtests/test_integration.py404 except Exception:
LOWtests/test_integration.py413 except Exception as e:
LOWtests/test_integration.py449 except Exception as e:
LOWtests/test_integration.py559 except Exception:
LOWtests/test_integration.py568 except Exception as e:
LOWtests/test_integration.py662 except Exception as e:
LOWtests/test_integration.py736 except Exception as e:
LOWtests/test_integration.py914 except Exception as e:
LOWtests/test_integration.py976 except Exception as e:
LOWtests/test_integration.py1001 except Exception as e:
LOWtests/test_integration.py1030 except Exception as e:
LOWtests/test_integration.py1065 except Exception as e:
LOWtests/test_integration.py1202 except Exception as e:
LOWtests/test_integration.py337 except Exception:
LOWtests/test_integration.py346 except Exception as e:
LOWtests/test_integration.py1276 except Exception as e:
LOWtests/test_coverage_gaps.py2656 except Exception as e:
LOWtests/test_coverage_gaps.py2726 except Exception as e:
LOWtests/integration/test_workflows.py69 except Exception:
LOWtests/integration/test_misc.py108 except Exception as e:
LOWtests/integration/test_misc.py169 except Exception as e:
LOWtests/integration/test_misc.py211 except Exception as e:
LOWtests/integration/test_misc.py248 except Exception as e:
LOWtests/integration/test_misc.py276 except Exception as e:
LOWtests/integration/test_misc.py77 except Exception as e:
LOWtests/integration/test_misc.py140 except Exception as e:
LOWtests/integration/test_prompts.py77 except Exception:
LOWtests/integration/test_prompts.py157 except Exception as e:
LOWtests/integration/test_prompts.py299 except Exception as e:
LOWtests/integration/test_prompts.py342 except Exception as e:
LOWtests/integration/test_prompts.py386 except Exception as e:
LOWtests/integration/test_prompts.py66 except Exception:
LOWtests/integration/test_prompts.py119 except Exception as e:
LOWtests/integration/test_prompts.py193 except Exception as e:
LOWtests/integration/test_prompts.py227 except Exception as e:
LOWtests/integration/test_prompts.py270 except Exception as e:
LOWtests/integration/test_analytics.py91 except Exception as e:
LOWtests/integration/test_analytics.py154 except Exception as e:
LOWtests/integration/test_analytics.py217 except Exception as e:
LOWtests/integration/test_analytics.py281 except Exception as e:
LOWtests/integration/test_analytics.py61 except Exception as e:
LOWtests/integration/test_analytics.py124 except Exception as e:
LOWtests/integration/test_analytics.py187 except Exception as e:
LOWtests/integration/test_analytics.py250 except Exception as e:
LOWtests/integration/test_chat.py354 except Exception as e:
LOWtests/integration/test_chat.py490 except Exception as e:
LOWtests/integration/test_chat.py757 except Exception as e:
LOWtests/integration/test_chat.py970 except Exception as e:
LOWtests/integration/test_chat.py1033 except Exception as e:
651 more matches not shown…
Unused Imports250 hits · 238 pts
SeverityFileLineSnippet
LOWtests/test_events_substrate.py9
LOWtests/test_todo_tool.py15
LOWtests/conftest.py23
LOWtests/test_memory_tool.py8
LOWtests/test_notes_tool.py8
LOWtests/test_version_check.py9
LOWtests/test_event_replay.py19
LOWtests/test_message_journal.py8
LOWtests/core/test_models_config_dir.py10
LOWtests/core/test_model_registry_yaml.py13
LOWtests/core/test_log_context.py3
LOWtests/core/test_byom_user_aware_helpers.py13
LOWtests/core/test_db_uri.py16
LOWtests/core/test_registry_user_layer.py9
LOWtests/core/test_openai_compatible.py9
LOWtests/core/test_logging_config.py10
LOWtests/security/test_safe_url.py9
LOWtests/integration/conftest.py28
LOWtests/integration/test_users_repository.py22
LOWtests/integration/__init__.py35
LOWtests/integration/__init__.py35
LOWtests/integration/__init__.py35
LOWtests/integration/__init__.py35
LOWtests/integration/__init__.py36
LOWtests/integration/__init__.py37
LOWtests/integration/__init__.py38
LOWtests/integration/__init__.py39
LOWtests/integration/__init__.py40
LOWtests/integration/__init__.py41
LOWtests/integration/__init__.py42
LOWtests/integration/__init__.py43
LOWtests/integration/__init__.py44
LOWtests/integration/__init__.py45
LOWtests/agents/test_workflow_agent_pg_write.py13
LOWtests/agents/test_default_tools.py3
LOWtests/agents/test_scheduler_agent_builtin.py4
LOWtests/agents/test_scheduler_agent_builtin.py15
LOWtests/agents/test_scheduler_utils.py3
LOWtests/agents/test_tool_executor_headless.py3
LOWtests/agents/tools/test_scheduler.py3
LOWtests/agents/tools/test_scheduler.py16
LOWtests/agents/tools/test_memory.py12
LOWtests/parser/connectors/test_auth_token_leakage.py11
LOWtests/storage/db/conftest.py13
LOWtests/storage/db/test_backfill_helpers.py6
LOWtests/storage/db/test_migration_0009.py3
LOWtests/storage/db/test_session_guardrails.py16
LOWtests/storage/db/test_migration_0010.py3
LOWtests/storage/db/test_migration_0011.py3
LOWtests/storage/db/repositories/test_workflows.py3
LOWtests/storage/db/repositories/test_idempotency.py11
LOW…s/storage/db/repositories/test_shared_conversations.py3
LOW…sts/storage/db/repositories/test_pending_tool_state.py3
LOWtests/storage/db/repositories/test_user_tools.py3
LOWtests/storage/db/repositories/test_schedules.py3
LOWtests/storage/db/repositories/test_user_logs.py3
LOWtests/storage/db/repositories/test_prompts.py3
LOWtests/storage/db/repositories/test_workflow_nodes.py3
LOWtests/storage/db/repositories/test_workflow_runs.py3
LOW…sts/storage/db/repositories/test_connector_sessions.py3
190 more matches not shown…
Deep Nesting235 hits · 186 pts
SeverityFileLineSnippet
LOWmd-gen.py3
LOWtests/test_zip_extraction_security.py170
LOWtests/test_target_coverage.py245
LOWtests/test_integration.py105
LOWtests/test_integration.py418
LOWtests/test_integration.py453
LOWtests/test_integration.py573
LOWtests/test_integration.py667
LOWtests/test_integration.py741
LOWtests/test_integration.py1089
LOWtests/test_coverage_gaps.py2272
LOWtests/test_remaining_coverage.py538
LOWtests/llm/handlers/test_llm_handlers.py1656
LOWtests/llm/handlers/test_llm_handlers.py1701
LOWtests/integration/test_misc.py36
LOWtests/integration/test_prompts.py124
LOWtests/integration/test_chat.py122
LOWtests/integration/test_chat.py160
LOWtests/integration/test_chat.py233
LOWtests/integration/test_chat.py294
LOWtests/integration/test_chat.py527
LOWtests/integration/test_chat.py635
LOWtests/integration/test_chat.py849
LOWtests/integration/test_chat.py979
LOWtests/integration/test_v1_api.py249
LOWtests/integration/test_v1_api.py402
LOWtests/integration/test_v1_api.py494
LOWtests/integration/test_v1_tool_calls.py99
LOWtests/integration/test_sources.py49
LOWtests/integration/test_sources.py108
LOWtests/integration/test_sources.py121
LOWtests/integration/test_tools.py191
LOWtests/integration/test_tools.py232
LOWtests/integration/test_mcp.py195
LOWtests/integration/base.py223
LOWtests/integration/test_agents.py50
LOWtests/parser/remote/test_s3_loader.py660
LOWtests/parser/remote/test_s3_loader.py687
LOWtests/parser/remote/test_s3_loader.py709
LOWtests/parser/remote/test_s3_loader.py831
LOWtests/api/test_message_stream_routes.py116
LOWtests/api/answer/test_snapshot_tail_integration.py150
LOWtests/api/user/attachments/test_routes.py1656
LOWtests/api/user/attachments/test_routes.py1696
LOWtests/api/user/attachments/test_routes.py1764
LOWtests/api/user/attachments/test_routes.py1869
LOWtests/api/user/attachments/test_routes.py1903
LOWtests/api/user/attachments/test_routes.py1970
LOWtests/devices/conftest.py63
LOWscripts/migrate_conversation_id_dbref_to_objectid.py26
LOWscripts/qa/durability_e2e.py1692
LOWscripts/db/backfill.py208
LOWscripts/db/backfill.py284
LOWscripts/db/backfill.py325
LOWscripts/db/backfill.py393
LOWscripts/db/backfill.py438
LOWscripts/db/backfill.py479
LOWscripts/db/backfill.py545
LOWscripts/db/backfill.py674
LOWscripts/db/backfill.py841
175 more matches not shown…
Self-Referential Comments42 hits · 146 pts
SeverityFileLineSnippet
MEDIUMtests/test_agent_token_tracking.py163 # Create a concrete handler for testing
MEDIUMtests/test_zip_extraction_security.py56 # Create a small valid zip
MEDIUMtests/test_zip_extraction_security.py70 # Create a zip with many files (just over limit)
MEDIUMtests/test_zip_extraction_security.py86 # Create a zip with path traversal
MEDIUMtests/test_zip_extraction_security.py246 # Create a file with highly compressible content (all zeros)
MEDIUMtests/test_zip_extraction_security.py249 # Create a large file with repetitive content - compresses extremely well
MEDIUMtests/test_zip_extraction_security.py265 # Create a zip with random-ish content that doesn't compress well
MEDIUMtests/test_zip_extraction_security.py104 # Create a corrupted "zip" file
MEDIUMtests/test_zip_extraction_security.py123 # Create a valid zip
MEDIUMtests/test_zip_extraction_security.py176 # Create a chain of nested zips
MEDIUMtests/test_zip_extraction_security.py207 # Create a malicious zip
MEDIUMtests/test_zip_extraction_security.py226 # Create a corrupted file
MEDIUMtests/test_zip_extraction_security.py287 # Create a zip with a reasonable size (no compression to avoid ratio issues)
MEDIUMtests/test_compression_service.py881 # Create a long conversation with important info buried in the middle
MEDIUMtests/test_integration.py268 # Create a simple text file for upload
MEDIUMtests/test_integration.py299 # Create a file-like object
MEDIUMtests/test_coverage_gaps.py2304 # Create the BulkIndexError mock
MEDIUMtests/test_remaining_coverage.py886 # Create an object where accessing certain attrs raises AttributeError
MEDIUMtests/llm/test_openai.py1285 # Create a schema with a problematic object that raises during iteration
MEDIUMtests/integration/test_misc.py186 # Create a small test file content
MEDIUMtests/integration/test_misc.py224 # Create a larger test file (1KB)
MEDIUMtests/integration/test_prompts.py359 # Create a prompt specifically for deletion
MEDIUMtests/integration/test_conversations.py281 # Create a conversation specifically for deletion
MEDIUMtests/integration/test_tools.py441 # Create a tool specifically for deletion - must use available tool name
MEDIUMtests/integration/test_agents.py316 # Create an agent first
MEDIUMtests/integration/test_agents.py521 # Create a fresh agent for deletion
MEDIUMtests/integration/test_agents.py74 # Create a minimal test source
MEDIUMtests/agents/test_tool_executor.py1181 # Create a fake call object matching what ToolActionParser expects
MEDIUMtests/agents/test_workflow_engine_coverage.py105 # Create a cycle: start -> state -> state (loop)
MEDIUM…sts/storage/db/repositories/test_pending_tool_state.py90 # Create a state with TTL of 0 seconds (already expired)
MEDIUMtests/storage/db/repositories/test_users.py247 # Create an agent with a known legacy_mongo_id
MEDIUMtests/storage/db/repositories/test_users.py251 # Create a user whose pinned list has the ObjectId, an already-UUID,
MEDIUMtests/stt/test_faster_whisper.py217 # Create a segment that uses getattr fallbacks
MEDIUMscripts/e2e/env.sh5# This file is intentionally passive: it exports variables and nothing else.
MEDIUMapplication/worker.py133# Define a function to extract metadata from a given filename.
MEDIUMapplication/worker.py175# Define a function to generate a random string of a given length.
MEDIUMapplication/worker.py390# Define the main function for ingesting and processing documents.
MEDIUMapplication/worker.py1671 # Create a clean config for storage
MEDIUMapplication/seed/config/agents_template.yaml2# This file contains template agents that will be seeded into the database
MEDIUMapplication/parser/file/docs_parser.py37 # Create a PDF object
MEDIUMapplication/parser/remote/crawler_markdown.py63 # Create a Document for each visited page
MEDIUMapplication/vectorstore/qdrant.py114 # Create a copy to avoid modifying the original metadata
Dead Code55 hits · 107 pts
SeverityFileLineSnippet
MEDIUMtests/test_logging.py310
MEDIUMtests/test_extra_coverage.py205
MEDIUMtests/test_extra_coverage.py269
MEDIUMtests/test_version_check.py64
MEDIUMtests/test_event_replay.py464
MEDIUMtests/test_event_replay.py522
MEDIUMtests/seed/test_seeder.py181
MEDIUMtests/agents/test_workflow_agent_graph.py173
MEDIUMtests/agents/test_workflow_agent_graph.py245
MEDIUMtests/agents/test_research_agent.py1309
MEDIUMtests/parser/file/test_embedding_pipeline.py265
MEDIUMtests/api/test_events_routes.py293
MEDIUMtests/api/v1/test_routes_extended.py218
MEDIUMtests/api/v1/test_routes_extended.py262
MEDIUMtests/api/answer/test_snapshot_tail_integration.py84
MEDIUMtests/api/answer/test_snapshot_tail_integration.py120
MEDIUMtests/api/answer/test_snapshot_tail_integration.py178
MEDIUMtests/api/answer/services/test_conversation_service.py84
MEDIUMtests/api/answer/services/test_conversation_service.py762
MEDIUMtests/api/answer/services/test_conversation_service.py814
MEDIUMtests/api/answer/services/test_conversation_service.py866
MEDIUMtests/api/user/test_sharing.py228
MEDIUMtests/api/user/test_sharing.py337
MEDIUMtests/api/user/test_prompts.py206
MEDIUMtests/api/user/test_prompts.py258
MEDIUMtests/api/user/test_prompts.py392
MEDIUMtests/api/user/test_prompts.py549
MEDIUMtests/api/user/test_analytics.py179
MEDIUMtests/api/user/test_analytics.py238
MEDIUMtests/api/user/test_analytics.py305
MEDIUMtests/api/user/test_analytics.py398
MEDIUMtests/api/user/test_tools_routes.py1114
MEDIUMtests/api/user/test_tools_routes.py1156
MEDIUMtests/api/user/test_conversations.py203
MEDIUMtests/api/user/test_conversations.py248
MEDIUMtests/api/user/test_conversations.py292
MEDIUMtests/api/user/test_conversations.py409
MEDIUMtests/api/user/test_conversations.py632
MEDIUMtests/api/user/test_conversations.py753
MEDIUMtests/api/user/workflows/test_routes_coverage.py354
MEDIUMtests/api/user/workflows/test_routes_coverage.py421
MEDIUMtests/api/user/workflows/test_routes_coverage.py536
MEDIUMtests/api/user/workflows/test_routes_coverage.py596
MEDIUMtests/api/user/agents/test_sharing.py106
MEDIUMtests/api/user/agents/test_sharing.py170
MEDIUMtests/api/user/agents/test_sharing.py278
MEDIUMtests/api/user/agents/test_routes_happy.py137
MEDIUMtests/api/user/agents/test_routes_happy.py873
MEDIUMtests/api/user/agents/test_routes_happy.py1130
MEDIUMtests/api/user/agents/test_routes_happy.py1192
MEDIUMtests/api/user/agents/test_routes_happy.py1242
MEDIUMtests/api/user/agents/test_routes_happy.py1287
MEDIUMtests/api/user/sources/test_chunks.py78
MEDIUMtests/api/user/sources/test_routes.py105
MEDIUMtests/worker/test_ingest_checkpoint.py505
Cross-Language Confusion19 hits · 105 pts
SeverityFileLineSnippet
HIGHtests/agents/test_cel_evaluator.py102 assert evaluate_cel("a && b", {"a": True, "b": True}) is True
HIGHtests/agents/test_cel_evaluator.py103 assert evaluate_cel("a && b", {"a": True, "b": False}) is False
HIGHtests/agents/test_cel_evaluator.py104 assert evaluate_cel("a || b", {"a": False, "b": True}) is True
HIGHtests/parser/file/test_tabular_parser.py209 assert result == "COLUMNS: A | B || x | y"
HIGHtests/devices/test_splitter.py11 assert split_command("ls && rm -rf /") == ["ls", "rm -rf /"]
HIGHtests/devices/test_splitter.py15 assert split_command("foo || bar") == ["foo", "bar"]
HIGHtests/devices/test_splitter.py71 assert head_tokens("ls && rm -rf / | grep foo") == ["ls", "rm", "grep"]
HIGHtests/devices/test_splitter.py75 assert head_tokens("timeout 5 ls && nohup git push") == ["ls", "git"]
HIGHtests/devices/test_normalizer.py37 assert normalize_command("ls -la && rm -rf /tmp") == "ls * && rm *"
HIGHtests/devices/test_normalizer.py42 assert normalize_command("ls /tmp && whoami") == "ls * && whoami"
HIGHtests/devices/test_normalizer.py44 normalize_command("ls /tmp && rm /tmp/x")
HIGHtests/devices/test_normalizer.py45 != normalize_command("ls /tmp && whoami")
HIGHtests/devices/test_denylist.py208 assert check_denylist("echo safe && rm -rf /") == "rm -rf /"
HIGHscripts/db/backfill.py233 SET agent_preferences = users.agent_preferences || EXCLUDED.agent_preferences,
HIGH…lication/storage/db/repositories/connector_sessions.py281 (connector_sessions.session_data || EXCLUDED.session_data)
HIGHapplication/devices/normalizer.py12 ``ls /tmp && whoami`` -> ``ls * && whoami``
HIGHapplication/devices/normalizer.py71 normalized segment sequence (approving ``ls /tmp && whoami`` won't
HIGHapplication/devices/normalizer.py72 auto-approve ``ls /tmp && rm /tmp/x``). Empty segments are skipped;
HIGHapplication/devices/denylist.py146 ``echo safe && rm -rf /`` still trips. Returns ``None`` if no segment
Docstring Block Structure17 hits · 85 pts
SeverityFileLineSnippet
HIGHapplication/utils.py237 Convert PDF pages to images for LLMs that support images but not PDFs. This enables "synthetic PDF support" by
HIGHapplication/core/url_validation.py94 Validate a URL to prevent SSRF attacks. This function checks that: 1. The URL has an allowed scheme (http
HIGHapplication/agents/tools/api_body_serializer.py31 Serialize body data to appropriate format. Args: body_data: Dictionary of body parameters
HIGHapplication/agents/tools/ntfy.py21 Execute the specified action with given parameters. Args: action_name (str): Name of the a
HIGHapplication/agents/tools/ntfy.py43 Send a message to an ntfy topic on the specified server. Args: server_url (str): Base URL
HIGHapplication/agents/tools/spec_parser.py23 Parse an API specification and convert operations to action definitions. Supports OpenAPI 3.x and Swagger 2.0
HIGHapplication/parser/embedding_pipeline.py160Embeds documents and stores them in a vector store. Resumable across Celery autoretries of the *same* task: when
HIGHapplication/parser/connectors/connector_creator.py31 Create a connector instance for the specified type. Args: connector_type: Type of connecto
HIGHapplication/parser/connectors/connector_creator.py51 Create an auth provider instance for the specified connector type. Args: connector_type: T
HIGH…lication/storage/db/repositories/connector_sessions.py233Upsert by shallow-merging ``patch`` into ``session_data``. Writes ``server_url`` to the scalar column so downst
HIGHapplication/api/answer/services/prompt_renderer.py29 Render prompt with full context from all namespaces. Args: prompt_content: Raw prompt temp
HIGHapplication/api/answer/services/compression/service.py55 Compress conversation history up to specified index. Args: conversation: Full conversation
HIGHapplication/api/answer/services/compression/service.py160 Compress conversation and save to database. Args: conversation_id: Conversation ID
HIGH…tion/api/answer/services/compression/prompt_builder.py24 Load prompt template from file. Args: version: Version string (e.g., 'v1.0') Retu
HIGHapplication/templates/template_engine.py34 Render template with provided context. Args: template_content: Raw template string with Ji
HIGHapplication/services/search_service.py121Resolve an agent by API key and search its sources. Args: api_key: Agent API key (the opaque string stored
HIGHapplication/vectorstore/faiss.py14Build a safe local path for a FAISS index. Args: path: Source identifier provided by the caller. Retur
Cross-File Repetition9 hits · 45 pts
SeverityFileLineSnippet
HIGHtests/test_todo_tool.py0a ``default_{user_id}`` tool_id must no-op with a polite error.
HIGHtests/test_memory_tool.py0a ``default_{user_id}`` tool_id must no-op with a polite error.
HIGHtests/test_notes_tool.py0a ``default_{user_id}`` tool_id must no-op with a polite error.
HIGHtests/storage/db/repositories/test_todos.py0insert a user_tools row and return its uuid as a string.
HIGHtests/storage/db/repositories/test_memories.py0insert a user_tools row and return its uuid as a string.
HIGHtests/storage/db/repositories/test_notes.py0insert a user_tools row and return its uuid as a string.
HIGHapplication/agents/tools/memory.py0return json metadata describing supported actions for tool schemas.
HIGHapplication/agents/tools/todo_list.py0return json metadata describing supported actions for tool schemas.
HIGHapplication/agents/tools/notes.py0return json metadata describing supported actions for tool schemas.
Redundant / Tautological Comments24 hits · 35 pts
SeverityFileLineSnippet
LOWsetup.sh80 # Check if Docker is running
LOWsetup.sh547 if [[ "$CONTAINER_STATUS" == *"ollama"* ]]; then # Check if 'ollama' service is in running services
LOWsetup.sh765# Check if .env file exists and is not empty
LOWtests/test_integration.py719 # Check if it's the detailed validation error or generic error
LOWtests/test_integration.py919 # Check if conversation was compressed by examining metadata
LOWtests/test_integration.py1050 # Check if the critical info was preserved
LOWextensions/react-widget/publish.sh11# Check if a specific version was provided
LOWapplication/llm/google_ai.py608 # Check if we have both tools and file attachments
LOWapplication/llm/openai.py26 # Check if it looks like a data URL with base64
LOWapplication/llm/openai.py495 # Check if this is a pre-converted image (from PDF-to-image conversion)
LOWapplication/llm/anthropic.py142 # Check if this is a pre-converted image (from PDF-to-image conversion)
LOWapplication/llm/handlers/base.py136 # Check if provider supports images but not PDF (synthetic PDF support)
LOWapplication/llm/handlers/base.py532 # Check if compression actually reduced tokens
LOWapplication/llm/handlers/base.py1204 # Check if context limit was reached during tool execution
LOWapplication/core/url_validation.py133 # Check if hostname is an IP address directly
LOWapplication/agents/tools/memory.py308 # Check if viewing directory (ends with / or is root)
LOWapplication/agents/tools/memory.py406 # Check if old_str exists (case-insensitive)
LOWapplication/agents/tools/memory.py468 # Check if it's a directory (ends with /)
LOWapplication/agents/tools/internal_search.py188 # Check if it's a file metadata dict or a folder
LOWapplication/parser/file/pptx_parser.py63 # Check if the shape has a 'text' attribute and append that to the slide_text
LOWapplication/parser/remote/sitemap_loader.py18 # Check if the input is a list and if it is, use the first element
LOWapplication/parser/remote/github_loader.py85 # Check if it's a rate limit issue
LOWapplication/api/answer/services/stream_processor.py184 # Check if compression is enabled and needed
LOWapplication/api/answer/services/compression/service.py80 # Check if there are existing compressions
Over-Commented Block26 hits · 24 pts
SeverityFileLineSnippet
LOWfrontend/src/vite-env.d.ts1/// <reference types="vite/client" />
LOWfrontend/src/events/eventStreamClient.ts121 notifyHealth('connecting');
LOWfrontend/src/events/useEventStream.ts41 // inside ``connectEventStream``.
LOWtests/agents/test_workflow_agent_pg_write.py81 # ------------------------------------------------------------------
LOWtests/parser/connectors/confluence/test_auth.py301 + datetime.timedelta(seconds=30)
LOWtests/e2e/specs/auth/session_jwt.spec.ts61 ).toBeVisible();
LOWtests/e2e/specs/tier-a/attachments.spec.ts421 );
LOWtests/e2e/specs/tier-a/agents.spec.ts321 // cannot reliably assert non-empty `sources[]` in the response
LOWscripts/qa/durability_e2e.py1421 redis.Redis(host="127.0.0.1", port=6379, db=backend_db).flushdb()
LOWscripts/e2e/env.sh1#!/usr/bin/env bash
LOWscripts/e2e/down.sh1#!/usr/bin/env bash
LOWscripts/e2e/up.sh1#!/usr/bin/env bash
LOWapplication/seed/config/agents_template.yaml21 loader: "url" # Type of loader (url, pdf, txt, etc.)
LOWapplication/core/settings.py201 COMPRESSION_PROMPT_VERSION: str = "v1.0" # Track prompt iterations
LOWapplication/core/settings.py221 # can move from Redis to the wire — a malicious client looping
LOWapplication/core/models/azure_openai.yaml1# Azure OpenAI catalog.
LOWapplication/streaming/message_journal.py101 materialised_seq = sequence_no
LOWapplication/streaming/event_replay.py41# heartbeat skew doesn't false-positive, short enough that a stuck
LOWapplication/streaming/event_replay.py181 # Replay buffer — populated inside ``_on_subscribe`` (or the
LOWapplication/streaming/event_replay.py241 # until the outer loop calls ``get_message`` again.
LOWapplication/streaming/event_replay.py341 # Snapshot already covered this id — drop the duplicate.
LOWapplication/api/answer/routes/base.py801 # ``record_event`` below — keeps the journal's seq order
LOWapplication/api/user/sources/upload.py601
LOWapplication/api/events/routes.py361 # Runs synchronously inside Topic.subscribe after the
LOW…ication/alembic/versions/0004_durability_foundation.py121 # assumption they were written from the primary path — pre-fix the
LOWapplication/vectorstore/mongodb.py101 refresh_indices=True,
Verbosity Indicators15 hits · 22 pts
SeverityFileLineSnippet
LOWtests/test_integration.py950 # Step 1: Send general questions
LOWtests/test_integration.py981 # Step 2: Send CRITICAL information
LOWtests/test_integration.py1006 # Step 3: Send more general questions to bury the critical info
LOWtests/test_integration.py1035 # Step 4: Ask about the critical information
LOWtests/integration/test_v1_tool_calls.py328 # Step 1: trigger a tool call
LOWtests/integration/test_v1_tool_calls.py350 # Step 2: send continuation with tool result + top-level conversation_id
LOWtests/integration/test_v1_tool_calls.py423 # Step 1: trigger a tool call
LOWtests/integration/test_v1_tool_calls.py449 # Step 2: send continuation (standard format, top-level conversation_id)
LOW.github/workflows/sync_fork.yaml18 # Step 1: run a standard checkout action
LOW.github/workflows/sync_fork.yaml22 # Step 2: run the sync action
LOWapplication/worker.py1653 # Step 1: Initialize the appropriate loader
LOWapplication/worker.py1678 # Step 2: Download files to temp directory
LOWapplication/worker.py1716 # Step 3: Use SimpleDirectoryReader to process downloaded files
LOWapplication/worker.py1735 # Step 4: Process documents (chunking, embedding, etc.)
LOWapplication/worker.py1784 # Step 6: Upload index files
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippet
HIGHextensions/react-widget/README.md120 apiKey="your-api-key"
HIGHextensions/react-widget/README.md148 apiKey: 'your-api-key-here',
AI Slop Vocabulary4 hits · 8 pts
SeverityFileLineSnippet
MEDIUMfrontend/package-lock.json11937 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
MEDIUMtests/test_compression_service.py1002 "response": """Python decorators are a powerful feature that allows you to modify or enhance functions and c
LOWtests/agents/test_workflow_agent_graph.py208 # Should just return None since workflow not found in DB
MEDIUMdocs/package-lock.json11575 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
Fake / Example Data5 hits · 7 pts
SeverityFileLineSnippet
LOWtests/agents/test_tool_action_parser.py34 call.arguments = '{"to": "user@example.com"}'
LOWtests/agents/test_tool_action_parser.py40 assert call_args == {"to": "user@example.com"}
LOWtests/parser/connectors/test_share_point_auth.py243 "preferred_username": "user@example.com",
LOWtests/parser/connectors/test_share_point_auth.py253 assert mapped["user_info"]["email"] == "user@example.com"
LOWtests/api/test_connector_routes_happy.py363 "user_email": "user@example.com",
Slop Phrases2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMapplication/parser/file/docs_parser.py24 # alternatively you can use local vision capable LLM
MEDIUMapplication/parser/file/image_parser.py24 # alternatively you can use local vision capable LLM
Overly Generic Function Names3 hits · 2 pts
SeverityFileLineSnippet
LOWtests/test_compression_service.py755 def process_data(self, input_data: List[str]) -> Dict[str, Any]:
LOWtests/test_compression_service.py1021 def my_function():
LOWapplication/security/safe_url.py439 def handle_request(self, request: httpx.Request) -> httpx.Response: