Repository Analysis

LearningCircuit/local-deep-research

~95% on SimpleQA (e.g. Qwen3.6-27B on a 3090). Supports all local and cloud LLMs (llama.cpp, Ollama, Google, ...). 10+ search engines - arXiv, PubMed, your private documents. Everything Local & Encrypted.

48.3 Strong AI signal View on GitHub
48.3
Adjusted Score
48.3
Raw Score
100%
Time Factor
2026-05-30
Last Push
8,202
Stars
Python
Language
1,049,817
Lines of Code
2960
Files
36676
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 13HIGH 318MEDIUM 5737LOW 30608

Pattern Findings

36676 matches across 22 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers27001 hits · 25105 pts
SeverityFileLineSnippet
LOW.pre-commit-hooks/custom-checks.py122 def _format_string_references_exception(self, node):
LOW.pre-commit-hooks/custom-checks.py146 def _string_concat_references_exception(self, node):
LOW.pre-commit-hooks/check-fixture-duplication.py78def find_module_level_fixture_redefinitions(
LOW…e-commit-hooks/check-settings-manager-thread-safety.py81 def _check_body_for_unsafe_calls(self, node) -> None:
LOW…e-commit-hooks/check-settings-manager-thread-safety.py117 def _is_get_settings_manager_call(call_node: ast.Call) -> bool:
LOW.pre-commit-hooks/check-sensitive-logging.py183 def _check_exc_info_on_warning(self, node: ast.Call) -> None:
LOW.pre-commit-hooks/check-sensitive-logging.py205 def _check_exception_var_in_log(self, node: ast.Call) -> None:
LOW.pre-commit-hooks/check-sensitive-logging.py270 def _check_expression_for_sensitive_data(
LOW.pre-commit-hooks/check-service-context-managers.py229 def _check_statements_recursive(
LOW.pre-commit-hooks/check-session-context-manager.py34 def _check_function_for_pattern(self, func_node) -> None:
LOW.pre-commit-hooks/check-session-context-manager.py62 def _get_session_var_from_assign(self, assign_node: ast.Assign) -> str:
LOW.pre-commit-hooks/check-session-context-manager.py93 def _has_session_close_in_finally(
LOW.pre-commit-hooks/check-settings-key-namespace.py88def _extract_frozenset_strings(node):
LOWtests/test_api_settings_validation.py16 def test_temperature_validation(self):
LOWtests/test_api_settings_validation.py48 def test_provider_name_normalization(self):
LOWtests/test_api_settings_validation.py65 def test_search_results_validation(self):
LOWtests/test_api_settings_validation.py84 def test_quick_summary_with_invalid_provider(self, mock_init):
LOWtests/test_api_settings_validation.py96 def test_quick_summary_with_missing_api_key(self, mock_init):
LOWtests/test_api_settings_validation.py118 def test_settings_with_circular_references(self):
LOWtests/test_api_settings_validation.py140 def test_environment_variable_type_conversion(self, monkeypatch):
LOWtests/test_api_settings_validation.py158 def test_invalid_environment_variable_values(self, monkeypatch):
LOWtests/test_api_settings_validation.py170 def test_environment_variable_precedence(self, monkeypatch):
LOWtests/test_api_settings_validation.py194 def test_minimal_configuration(self):
LOWtests/test_api_settings_validation.py207 def test_common_research_presets(self):
LOWtests/test_api_settings_validation.py291 def test_legacy_setting_names(self):
LOWtests/test_context_overflow_detection.py42 def test_context_overflow_detection_no_overflow(self, token_callback):
LOWtests/test_context_overflow_detection.py71 def test_context_overflow_detection_with_overflow(self, token_callback):
LOWtests/test_context_overflow_detection.py101 def test_ollama_raw_metrics_capture(self, token_callback):
LOWtests/test_context_overflow_detection.py134 def test_context_limit_from_research_context(self):
LOWtests/test_context_overflow_detection.py152 def test_prompt_size_estimation(self, token_callback):
LOWtests/test_context_overflow_detection.py176 def test_overflow_warning_logged(self, mock_logger, token_callback):
LOWtests/test_context_overflow_detection.py209 def test_estimated_overflow_for_non_ollama_provider(
LOWtests/test_context_overflow_detection.py247 def test_provider_confirmed_total_context_overflow(
LOWtests/test_context_overflow_detection.py285 def test_estimated_total_context_overflow_for_non_ollama(
LOWtests/test_context_overflow_detection.py327 def test_estimated_total_context_overflow_via_llm_output(
LOWtests/test_context_overflow_detection.py380 def test_estimated_path_fires_on_subsequent_calls_after_first_truncation(
LOWtests/test_context_overflow_detection.py393 def llm_output_overflow_response():
LOWtests/test_context_overflow_detection.py422 def test_estimated_overflow_skipped_when_context_limit_none(
LOWtests/test_context_overflow_detection.py450 def test_estimated_overflow_zero_prompt_estimate(
LOWtests/test_context_overflow_detection.py475 def test_estimated_overflow_without_on_llm_start(
LOWtests/test_context_overflow_detection.py504 def test_ollama_context_overflow_real(self):
LOWtests/TESTING_PROPOSAL.md263def test_create_documents_empty(citation_handler):
LOWtests/TESTING_PROPOSAL.md269def test_create_documents_string(citation_handler):
LOWtests/test_utils.py61def assert_search_result_format(result: Dict[str, Any]):
LOWtests/test_utils.py111def create_test_research_context(query: str = "test query") -> Dict[str, Any]:
LOWtests/test_utils.py156def assert_progress_callback_called(
LOWtests/test_search_system_factory_high_value.py26 def test_all_entries_are_dicts(self):
LOWtests/test_search_system_factory_high_value.py30 def test_all_entries_have_name_key(self):
LOWtests/test_search_system_factory_high_value.py34 def test_all_entries_have_description_key(self):
LOWtests/test_search_system_factory_high_value.py38 def test_all_names_are_nonempty_strings(self):
LOWtests/test_search_system_factory_high_value.py43 def test_all_descriptions_are_nonempty_strings(self):
LOWtests/test_search_system_factory_high_value.py78 def test_returns_copy_not_original(self):
LOWtests/test_search_system_factory_high_value.py82 def test_copy_has_same_length(self):
LOWtests/test_search_system_factory_high_value.py86 def test_copy_has_same_content(self):
LOWtests/test_search_system_factory_high_value.py90 def test_modifying_returned_list_does_not_affect_original(self):
LOWtests/test_search_system_factory_high_value.py96 def test_removing_from_returned_list_does_not_affect_original(self):
LOWtests/test_search_system_factory_high_value.py106 def test_all_contains_more_than_available(self):
LOWtests/test_search_system_factory_high_value.py109 def test_all_starts_with_available(self):
LOWtests/test_search_system_factory_high_value.py114 def test_all_entries_have_required_keys(self):
LOWtests/test_search_system_factory_high_value.py118 def test_no_duplicate_names_in_all(self):
26941 more matches not shown…
Decorative Section Separators5143 hits · 18680 pts
SeverityFileLineSnippet
MEDIUMdocker-compose.gpu.override.yml1# ============================================================================
MEDIUMdocker-compose.gpu.override.yml3# ============================================================================
MEDIUMdocker-compose.gpu.override.yml21# ============================================================================
MEDIUMdocker-compose.unraid.yml1# ============================================================================
MEDIUMdocker-compose.unraid.yml3# ============================================================================
MEDIUMdocker-compose.unraid.yml16# ============================================================================
MEDIUM.file-whitelist.txt1# ============================================================================
MEDIUM.file-whitelist.txt11# ============================================================================
MEDIUM.file-whitelist.txt13# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt15# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt23# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt25# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt40# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt42# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt56# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt58# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt66# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt68# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt77# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt79# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt96# ---------------------------------------------------------------------------
MEDIUM.file-whitelist.txt99# ---------------------------------------------------------------------------
MEDIUMpyproject.toml402# ---------------------------------------------------------------------------
MEDIUMpyproject.toml404# ---------------------------------------------------------------------------
MEDIUM.grype.yaml9 # ==========================================================================
MEDIUM.grype.yaml11 # ==========================================================================
MEDIUM.grype.yaml65 # ==========================================================================
MEDIUM.grype.yaml70 # ==========================================================================
MEDIUM.grype.yaml120 # ==========================================================================
MEDIUM.grype.yaml128 # ==========================================================================
MEDIUM.grype.yaml144 # ==========================================================================
MEDIUM.grype.yaml146 # ==========================================================================
MEDIUMdocker-compose.yml34 # ============================================================================
MEDIUMdocker-compose.yml36 # ============================================================================
MEDIUMdocker-compose.yml46 # ============================================================================
MEDIUMdocker-compose.yml48 # ============================================================================
MEDIUMdocker-compose.yml54 # ============================================================================
MEDIUMdocker-compose.yml59 # ============================================================================
MEDIUMdocker-compose.yml66 # ============================================================================
MEDIUMdocker-compose.yml68 # ============================================================================
MEDIUMdocker-compose.yml74 # ============================================================================
MEDIUMdocker-compose.yml78 # ============================================================================
MEDIUMdocker-compose.yml82 # ============================================================================
MEDIUMdocker-compose.yml85 # ============================================================================
MEDIUMdocker-compose.yml88 # ============================================================================
MEDIUMdocker-compose.yml94 # ============================================================================
MEDIUMdocker-compose.yml99 # ============================================================================
MEDIUMdocker-compose.yml105 # ============================================================================
MEDIUMdocker-compose.yml108 # ============================================================================
MEDIUMdocker-compose.yml114 # ============================================================================
MEDIUMdocker-compose.yml118 # ============================================================================
MEDIUMdocker-compose.yml126 # ============================================================================
MEDIUMdocker-compose.yml130 # ============================================================================
MEDIUMdocker-compose.yml133 # ============================================================================
MEDIUMdocker-compose.yml139 # ============================================================================
MEDIUMdocker-compose.yml141 # ============================================================================
MEDIUMdocker-compose.yml1# ============================================================================
MEDIUMdocker-compose.yml3# ============================================================================
MEDIUMdocker-compose.yml17# ============================================================================
MEDIUMdocker-compose.yml156 # ============================================================================
5083 more matches not shown…
Excessive Try-Catch Wrapping1747 hits · 1730 pts
SeverityFileLineSnippet
LOW.pre-commit-hooks/check-css-class-prefix.py177 except Exception as e:
MEDIUM.pre-commit-hooks/check-css-class-prefix.py178 print(f"Error reading {file_path}: {e}", file=sys.stderr)
LOW.pre-commit-hooks/check-css-class-prefix.py331 except Exception as e:
MEDIUM.pre-commit-hooks/check-css-class-prefix.py332 print(f"Error reading {file_path}: {e}", file=sys.stderr)
LOW.pre-commit-hooks/check-css-class-prefix.py450 except Exception as e:
MEDIUM.pre-commit-hooks/check-css-class-prefix.py451 print(f"Error reading {file_path}: {e}", file=sys.stderr)
LOW.pre-commit-hooks/check-absolute-module-paths.py115 except Exception as e:
MEDIUM.pre-commit-hooks/check-absolute-module-paths.py116 print(f"Error reading {filename}: {e}")
LOW.pre-commit-hooks/check-absolute-module-paths.py133 except Exception as e:
MEDIUM.pre-commit-hooks/check-absolute-module-paths.py134 print(f"Error parsing {filename}: {e}")
LOW.pre-commit-hooks/check-absolute-module-paths.py148 except Exception as e:
MEDIUM.pre-commit-hooks/check-absolute-module-paths.py149 print(f"Error reading {filename}: {e}")
LOW.pre-commit-hooks/check-env-vars.py276 except Exception as e:
MEDIUM.pre-commit-hooks/check-env-vars.py277 print(f"Error reading {filename}: {e}")
LOW.pre-commit-hooks/check-env-vars.py294 except Exception as e:
MEDIUM.pre-commit-hooks/check-env-vars.py295 print(f"Error parsing {filename}: {e}")
LOW.pre-commit-hooks/check-pathlib-usage.py147 except Exception as e:
MEDIUM.pre-commit-hooks/check-pathlib-usage.py148 print(f"Error reading {filepath}: {e}", file=sys.stderr)
LOW.pre-commit-hooks/check-utcnow-parens.py34 except Exception:
LOW.pre-commit-hooks/check-double-escaping.py130 except Exception as e:
MEDIUM.pre-commit-hooks/check-double-escaping.py131 print(f"Error checking {file_path}: {e}")
LOW.pre-commit-hooks/check-url-security.py143 except Exception as e:
MEDIUM.pre-commit-hooks/check-url-security.py144 print(f"Error checking {file_path}: {e}")
LOW.pre-commit-hooks/fix-exception-logging.py234 except Exception:
LOW.pre-commit-hooks/check-silent-cleanup.py187 except Exception as e:
MEDIUM.pre-commit-hooks/check-silent-cleanup.py188 print(f"Error reading {filename}: {e}")
LOW.pre-commit-hooks/check-silent-cleanup.py209 except Exception as e:
MEDIUM.pre-commit-hooks/check-silent-cleanup.py210 print(f"Error parsing {filename}: {e}")
LOW.pre-commit-hooks/custom-checks.py497 except Exception as e:
MEDIUM.pre-commit-hooks/custom-checks.py498 print(f"Error reading {filename}: {e}")
LOW.pre-commit-hooks/custom-checks.py524 except Exception as e:
MEDIUM.pre-commit-hooks/custom-checks.py525 print(f"Error parsing {filename}: {e}")
LOW…e-commit-hooks/check-settings-manager-thread-safety.py149 except Exception as e:
MEDIUM…e-commit-hooks/check-settings-manager-thread-safety.py150 print(f"Error checking {filepath}: {e}", file=sys.stderr)
LOW.pre-commit-hooks/check-sensitive-logging.py426 except Exception as e:
LOW.pre-commit-hooks/check-open-encoding.py140 except Exception:
LOW.pre-commit-hooks/check-safe-requests.py99 except Exception as e:
MEDIUM.pre-commit-hooks/check-safe-requests.py100 print(f"Error reading {filename}: {e}")
LOW.pre-commit-hooks/check-safe-requests.py117 except Exception as e:
MEDIUM.pre-commit-hooks/check-safe-requests.py118 print(f"Error parsing {filename}: {e}")
LOW.pre-commit-hooks/check-service-context-managers.py408 except Exception as e:
MEDIUM.pre-commit-hooks/check-service-context-managers.py409 print(f"Error reading {filename}: {e}")
LOW.pre-commit-hooks/check-service-context-managers.py428 except Exception as e:
MEDIUM.pre-commit-hooks/check-service-context-managers.py429 print(f"Error parsing {filename}: {e}")
LOW.pre-commit-hooks/check-deprecated-settings-wrapper.py63 except Exception as e:
MEDIUM.pre-commit-hooks/check-deprecated-settings-wrapper.py64 print(f"Error checking {filepath}: {e}", file=sys.stderr)
LOW.pre-commit-hooks/check-session-context-manager.py130 except Exception as e:
MEDIUM.pre-commit-hooks/check-session-context-manager.py131 print(f"Error checking {filepath}: {e}", file=sys.stderr)
LOW.pre-commit-hooks/check-settings-key-namespace.py197 except Exception:
LOW.pre-commit-hooks/check-settings-key-namespace.py216 except Exception:
LOW.pre-commit-hooks/check-unmarked-sleep.py155 except Exception as exc:
LOW.pre-commit-hooks/check-loguru-formatting.py38 except Exception as exc:
LOW.pre-commit-hooks/check-golden-master-settings.py45 except Exception:
LOW.pre-commit-hooks/check-silent-exceptions.py75 except Exception as exc:
LOWtests/test_api_settings_validation.py132 except Exception as e:
LOWtests/test_context_overflow_detection.py540 except Exception as e:
LOWtests/conftest.py86 except Exception:
LOWtests/conftest.py286 except Exception as e:
LOWtests/conftest.py347 except Exception as e:
LOWtests/conftest.py359 except Exception:
1687 more matches not shown…
Self-Referential Comments360 hits · 1098 pts
SeverityFileLineSnippet
MEDIUM.pre-commit-hooks/check-service-context-managers.py195 # Create a fake function body from module-level statements
MEDIUMtests/conftest.py289 # Create a test client
MEDIUMtests/conftest.py551 # Create a mock module
MEDIUMtests/test_openai_api_key_usage.py109 # Create a mock LLM instance
MEDIUMtests/test_reexport_modules.py80 # Create a fake config.config_files module
MEDIUMtests/test_google_pse.py102 # Create a mock engine directly
MEDIUMtests/test_report_generator.py314 # Define a structure with multiple sections
MEDIUMtests/test_report_generator.py362 # Define a structure with 5 sections
MEDIUMtests/test_settings_manager.py226 session = SessionLocal() # Create a new session instance for this test
MEDIUMtests/test_settings_manager.py262 # Create a new session for this test
MEDIUMtests/mock_llm_config.py13 # Create a mock module
MEDIUMtests/test_search_engines_enhanced.py159 # Create a mock paper object
MEDIUMtests/test_search_engines_enhanced.py275 # Create a minimal settings snapshot for the factory
MEDIUMtests/test_api_key_configuration.py119 # Create a mock LLM instance
MEDIUMtests/test_api_key_configuration.py142 # Create a mock LLM instance
MEDIUMtests/test_api_key_configuration.py168 # Create a mock LLM instance
MEDIUMtests/test_api_key_configuration.py192 # Create a mock LLM instance with invoke method
MEDIUMtests/test_search_system.py49 # Create a mock strategy class and instance
MEDIUMtests/test_search_system.py72 # Create the search system (will use default source-based strategy)
MEDIUMtests/test_search_system.py75 # Create a mock progress callback
MEDIUMtests/test_search_system.py303 # Create a mock callback
MEDIUMtests/test_search_system.py323 # Create a mock strategy class and instance
MEDIUMtests/test_search_system.py378 # Create the search system (uses source-based strategy by default)
MEDIUMtests/metrics/test_query_utils.py11# Create a model for SQLAlchemy column testing
MEDIUMtests/settings/test_generate_config_docs.py292 # Create a minimal project structure with a bad JSON file
MEDIUMtests/database/test_database_init.py232 # Create a research record
MEDIUMtests/database/test_database_init.py277 # Create a benchmark run with results
MEDIUMtests/database/test_benchmark_models.py100 # Create a benchmark run first
MEDIUMtests/database/test_benchmark_models.py210 # Create a benchmark run
MEDIUMtests/database/test_benchmark_models.py273 # Create a run
MEDIUMtests/database/test_benchmark_models.py399 # Create a completed run
MEDIUMtests/database/test_sqlcipher_integration.py1309 # Create main database
MEDIUMtests/database/test_sqlcipher_integration.py960 # Create a regular (unencrypted) SQLite database
MEDIUMtests/database/test_sqlcipher_integration.py2465 # Create main database
MEDIUMtests/database/test_sqlcipher_integration.py2827 # Create main database
MEDIUMtests/database/test_sqlcipher_integration.py3135 # Create main database
MEDIUMtests/database/test_sqlcipher_integration.py4225 # Create an encrypted database first
MEDIUMtests/database/test_sqlcipher_integration.py4287 # Create an encrypted database with a table
MEDIUMtests/database/test_orm_conversions.py81 # Create a research entry first with UUID
MEDIUMtests/database/test_alembic_migrations.py526 # Create a corrupted alembic_version table
MEDIUMtests/database/test_alembic_migrations.py3677 # Create an engine with invalid credentials in URL
MEDIUMtests/database/test_alembic_migrations.py4015 # Create a mock migrations directory structure
MEDIUMtests/database/test_alembic_migrations.py4020 # Create a world-writable migration file
MEDIUMtests/database/test_alembic_migrations.py319 # Create a few more tables to simulate existing database
MEDIUMtests/database/test_alembic_migrations.py1109 # Create a conflicting table structure
MEDIUMtests/database/test_alembic_migrations.py2252 # Create a partial state - some tables but not all
MEDIUMtests/database/test_alembic_migrations.py2754 # Create a very long string
MEDIUMtests/database/test_alembic_migrations.py3641 # Create a read-only directory scenario
MEDIUMtests/database/test_alembic_migrations.py3812 # Create a scenario that will cause a migration error
MEDIUMtests/database/test_alembic_migrations.py3958 # Create a mock symlinked path scenario
MEDIUMtests/database/test_alembic_migrations.py4041 # Create a mock migrations directory with secure files
MEDIUMtests/database/test_alembic_migrations.py4065 # Create a mock migrations directory (permissions don't matter)
MEDIUMtests/database/test_alembic_migrations.py4432 # Create a fresh Alembic database
MEDIUMtests/database/test_alembic_migrations.py4437 # Create a pre-Alembic database and upgrade it
MEDIUMtests/database/test_auth_db.py90 # Create the file
MEDIUMtests/database/test_auth_db.py153 # Create the file so init is skipped
MEDIUMtests/database/test_auth_db.py362 # Create an engine
MEDIUMtests/database/test_auth_db.py390 # Create an engine
MEDIUMtests/database/test_encrypted_db_manager.py106 # Create the database file
MEDIUMtests/database/test_encrypted_db_manager.py911 # Create a plain SQLite database (no encryption needed for this test)
300 more matches not shown…
Cross-File Repetition178 hits · 890 pts
SeverityFileLineSnippet
HIGHtests/test_report_generator_edge_cases.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_structure_parsing.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_structure_parsing.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_structure_parsing.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_structure_parsing.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_structure_parsing.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_section_generation.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_section_generation.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_section_generation.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_section_generation.py0create a report generator with mocked dependencies.
HIGHtests/report/test_report_section_generation.py0create a report generator with mocked dependencies.
HIGHtests/metrics/test_token_counter_high_value.py0create a tokencountingcallback with sensible defaults.
HIGHtests/metrics/test_token_counter_logic.py0create a tokencountingcallback with sensible defaults.
HIGHtests/metrics/test_token_counter_coverage.py0create a tokencountingcallback with sensible defaults.
HIGHtests/database/test_alembic_migrations.py0insert into task_metadata (task_id, status, task_type) values {values}
HIGHtests/database/test_alembic_migrations.py0insert into task_metadata (task_id, status, task_type) values {values}
HIGHtests/database/test_alembic_migrations.py0insert into task_metadata (task_id, status, task_type) values {values}
HIGHtests/database/test_alembic_migrations.py0insert into task_metadata (task_id, status, task_type) values {values}
HIGH…d_search_system/evidence/test_evaluator_integration.py0claim: test type: inference source: test confidence: 0.5 reasoning: test quote: test
HIGH…d_search_system/evidence/test_evaluator_integration.py0claim: test type: inference source: test confidence: 0.5 reasoning: test quote: test
HIGH…d_search_system/evidence/test_evaluator_integration.py0claim: test type: inference source: test confidence: 0.5 reasoning: test quote: test
HIGH…dvanced_search_system/strategies/test_base_strategy.py0concrete implementation for testing abstract base class.
HIGHtests/news/test_rating_system_behavior.py0concrete implementation for testing abstract base class.
HIGHtests/news/test_base_recommender_behavior.py0concrete implementation for testing abstract base class.
HIGHtests/citation_handlers/test_base_citation_handler.py0concrete implementation for testing abstract base class.
HIGHtests/llm/providers/test_openai_base.py0raises valueerror when no model name is provided (no silent default).
HIGHtests/llm/providers/test_openai_base_deep_coverage.py0raises valueerror when no model name is provided (no silent default).
HIGHtests/llm_providers/test_openai_base.py0raises valueerror when no model name is provided (no silent default).
HIGH…sts/llm_providers/implementations/test_xai_provider.py0raises valueerror when no model name is provided (no silent default).
HIGH…/llm_providers/implementations/test_openai_provider.py0raises valueerror when no model name is provided (no silent default).
HIGH…m_providers/implementations/test_anthropic_provider.py0raises valueerror when no model name is provided (no silent default).
HIGH…/llm_providers/implementations/test_google_provider.py0raises valueerror when no model name is provided (no silent default).
HIGH…s/llm_providers/implementations/test_ionos_provider.py0raises valueerror when no model name is provided (no silent default).
HIGH…_providers/implementations/test_openrouter_provider.py0raises valueerror when no model name is provided (no silent default).
HIGHtests/security/test_safe_requests_hook.py0import requests response = requests.get("http://example.com")
HIGHtests/security/test_safe_requests_hook.py0import requests response = requests.get("http://example.com")
HIGHtests/security/test_safe_requests_hook.py0import requests response = requests.get("http://example.com")
HIGHtests/security/test_safe_requests_hook.py0import requests response = requests.get("http://example.com")
HIGH…arch_library/routes/test_rag_routes_upload_coverage.py0context manager providing an authenticated test client with mocking.
HIGH…ts/research_library/routes/test_rag_routes_coverage.py0context manager providing an authenticated test client with mocking.
HIGH…ch_library/routes/test_rag_routes_indexing_coverage.py0context manager providing an authenticated test client with mocking.
HIGH…search_library/routes/test_rag_routes_deep_coverage.py0context manager providing an authenticated test client with mocking.
HIGH…h_library/routes/test_library_routes_extra_coverage.py0return a magicmock that satisfies login_required db_manager check.
HIGHtests/web/routes/test_settings_routes_deep_coverage2.py0return a magicmock that satisfies login_required db_manager check.
HIGHtests/web/routes/test_api_routes_coverage.py0return a magicmock that satisfies login_required db_manager check.
HIGHtests/followup_research/test_routes_coverage.py0return a magicmock that satisfies login_required db_manager check.
HIGH…h_library/routes/test_library_routes_extra_coverage.py0build a mock context-manager for get_user_db_session.
HIGHtests/web/routes/test_history_routes_extended.py0build a mock context-manager for get_user_db_session.
HIGHtests/web/routes/test_settings_routes_deep_coverage2.py0build a mock context-manager for get_user_db_session.
HIGHtests/web/routes/test_api_routes_coverage.py0build a mock context-manager for get_user_db_session.
HIGHtests/followup_research/test_routes_coverage.py0build a mock context-manager for get_user_db_session.
HIGH…h_library/routes/test_library_routes_extra_coverage.py0issue an authenticated post request and return the response.
HIGHtests/web/routes/test_api_routes_coverage.py0issue an authenticated post request and return the response.
HIGHtests/followup_research/test_routes_coverage.py0issue an authenticated post request and return the response.
HIGH…ary/services/test_library_service_collections_stats.py0patch get_user_db_session as a proper context manager.
HIGH…arch_library/services/test_library_service_coverage.py0patch get_user_db_session as a proper context manager.
HIGH…rch_library/services/test_library_service_crud_deep.py0patch get_user_db_session as a proper context manager.
HIGHtests/exporters/test_latex_exporter.py0test handling of markdown with tables, code, lists.
HIGHtests/exporters/test_pdf_exporter.py0test handling of markdown with tables, code, lists.
HIGHtests/exporters/test_quarto_exporter.py0test handling of markdown with tables, code, lists.
118 more matches not shown…
Redundant / Tautological Comments416 hits · 628 pts
SeverityFileLineSnippet
LOW.pre-commit-hooks/check-env-vars.py237 # Check if the left side is a system var
LOW.pre-commit-hooks/check-image-pinning.sh61 # Check if any image lines lack @sha256
LOW.pre-commit-hooks/check-url-security.py29 # Check if the file imports or includes URL validation
LOW.pre-commit-hooks/check-url-security.py82 # Check if it's preceded by validation
LOW.pre-commit-hooks/fix-exception-logging.py210 # Check if the variable is still used anywhere in nearby lines
LOW.pre-commit-hooks/check-silent-cleanup.py48 # Check if the handler is "except Exception:" or bare "except:"
LOW.pre-commit-hooks/check-silent-cleanup.py55 # Check if handler body is *only* `pass` (no logging, no raise)
LOW.pre-commit-hooks/custom-checks.py270 # Check if this class inherits from Base (SQLAlchemy model)
LOW.pre-commit-hooks/custom-checks.py399 # Check if line has allowed patterns first
LOW.pre-commit-hooks/custom-checks.py457 # Check if this file is allowed to use datetime.now()
LOW.pre-commit-hooks/custom-checks.py476 # Check if it's already using UTC
LOW.pre-commit-hooks/check-external-resources.py73 # Check if line contains external patterns
LOW.pre-commit-hooks/check-external-resources.py76 # Check if it's an allowed exception
LOW.pre-commit-hooks/check-pdm-lock.sh2# Check if pdm.lock is in sync with pyproject.toml
LOW.pre-commit-hooks/check-sensitive-logging.py138 # Check if it's a logger call
LOW.pre-commit-hooks/check-service-context-managers.py89 # Check if it's a service class
LOW.pre-commit-hooks/check-service-context-managers.py93 # Check if it's a function returning a resource
LOW.pre-commit-hooks/check-service-context-managers.py359 # Check if this is a safe instantiation
LOW.pre-commit-hooks/check-session-context-manager.py38 # Check if this is a session assignment
LOW.pre-commit-hooks/check-session-context-manager.py50 # Check if finally has session.close()
LOW.pre-commit-hooks/check-session-context-manager.py104 # Check if it's our session variable
LOW.pre-commit-hooks/check-unmarked-sleep.py89 # Check if enclosing function or class has @pytest.mark.slow
LOW.pre-commit-hooks/check-golden-master-settings.py34 # Check if regeneration changed the file
LOWtests/test_context_overflow_detection.py532 # Check if overflow was detected
LOWtests/run_followup_tests.sh13# Check if server is running
LOWtests/test_openai_api_key_e2e.py83 # Check if API key exists in settings or environment
LOWtests/test_google_pse.py92 # Check if API key and search engine ID are set (should be from our mocks)
LOWtests/test_database_initialization.py131 # Check if settings table is queryable
LOWtests/test_citation_handler.py61 # Check if the correct number of documents was created
LOWtests/test_citation_handler.py86 # Check if indexes were correctly offset
LOWtests/test_citation_handler.py106 # Check if sources are correctly formatted with citation numbers
LOWtests/test_citation_handler.py119 # Check if LLM was called with the correct prompt
LOWtests/test_citation_handler.py123 # Check if prompt contains expected elements
LOWtests/run_all_tests.py444 # Check if we're in a headless environment (CI)
LOWtests/test_search_system.py125 # Check if the correct strategy type was created
LOWtests/test_search_system.py167 # Check if the correct strategy type was created
LOWtests/test_search_system.py207 # Check if the correct strategy type was created
LOWtests/test_search_system.py237 # Check if the correct strategy type was created
LOWtests/metrics/test_research_metrics_extended.py377 # Check if current is better than baseline
LOWtests/metrics/test_token_counter_extended.py151 # Set usage_metadata to None to force response_metadata path
LOWtests/settings/env_vars/test_env_var_usage.py155 # Check if file is allowed to use os.environ
LOWtests/database/test_database_init.py103 # Check if pysqlcipher3 is available
LOWtests/database/test_sqlcipher_integration.py805 # Check if it changed (it shouldn't for an already-initialized DB)
LOWtests/database/test_sqlcipher_integration.py2304 # Check if encryption is actually applied
LOWtests/database/test_sqlcipher_integration.py4184 # Check if salt was actually applied
LOWtests/database/test_alembic_migrations.py2427 # Check if 'key' has unique constraint
LOWtests/database/test_no_raw_sql.py67 # Check if it's in a comment or docstring
LOWtests/database/test_no_raw_sql.py76 # Check if it's an allowed pattern
LOWtests/database/test_no_raw_sql.py143 # Check if file has database operations
LOWtests/database/test_no_raw_sql.py154 # Check if it has ORM imports
LOWtests/database/test_schema_stability.py143 # Check if there are new tables that might be renames
LOWtests/deletion/test_document_deletion.py209 # Check if document is in any collection
LOWtests/test_llm/test_llm_benchmarks.py24 # Check if we have a predefined answer
LOW…i_tests_with_login/pytest_tests/test_start_research.py70 # Check if model appears in logs
LOWtests/infrastructure_tests/test_urls_js.py118 # Check if the URL exists in backend (with some flexibility for parameter names)
LOWtests/infrastructure_tests/test_urls_js.py343 # Check if this is an allowed duplicate
LOWtests/accessibility_tests/test_accessibility_backend.py86 # Check if there are any fieldsets
LOWtests/security/test_xss_prevention.py280 # Check if CSP header is present (it's a good security practice)
LOWtests/security/test_repo_guardrails.py91 # Check if this pattern matches a binary extension
LOWtests/security/test_csrf_protection.py116 # Check if it's a CSRF error specifically
356 more matches not shown…
Deep Nesting725 hits · 565 pts
SeverityFileLineSnippet
LOW.pre-commit-hooks/check-css-class-prefix.py136
LOW.pre-commit-hooks/check-css-class-prefix.py183
LOW.pre-commit-hooks/check-css-class-prefix.py337
LOW.pre-commit-hooks/check-css-class-prefix.py456
LOW.pre-commit-hooks/check-absolute-module-paths.py140
LOW.pre-commit-hooks/check-absolute-module-paths.py187
LOW.pre-commit-hooks/check-absolute-module-paths.py154
LOW.pre-commit-hooks/check-env-vars.py106
LOW.pre-commit-hooks/check-env-vars.py185
LOW.pre-commit-hooks/check-env-vars.py227
LOW.pre-commit-hooks/check-double-escaping.py30
LOW.pre-commit-hooks/fix-exception-logging.py200
LOW.pre-commit-hooks/check-layer-imports.py53
LOW.pre-commit-hooks/check-silent-cleanup.py70
LOW.pre-commit-hooks/custom-checks.py431
LOW.pre-commit-hooks/custom-checks.py58
LOW.pre-commit-hooks/custom-checks.py173
LOW.pre-commit-hooks/custom-checks.py269
LOW.pre-commit-hooks/check-external-resources.py57
LOW…e-commit-hooks/check-settings-manager-thread-safety.py55
LOW.pre-commit-hooks/check-sensitive-logging.py270
LOW.pre-commit-hooks/check-service-context-managers.py117
LOW.pre-commit-hooks/check-service-context-managers.py229
LOW.pre-commit-hooks/check-session-context-manager.py34
LOW.pre-commit-hooks/check-session-context-manager.py93
LOW.pre-commit-hooks/check-settings-key-namespace.py51
LOW.pre-commit-hooks/_commit_analysis.py199
LOWtests/test_openai_api_key_e2e.py44
LOWtests/test_llm_provider_integration.py196
LOWtests/test_llm_provider_integration.py332
LOWtests/run_all_tests.py530
LOWtests/run_all_tests.py77
LOWtests/run_all_tests.py250
LOWtests/settings/test_settings_manager.py598
LOWtests/settings/test_settings_defaults_integrity.py318
LOWtests/database/test_sqlcipher_integration.py564
LOWtests/database/test_sqlcipher_integration.py3632
LOWtests/database/test_sqlcipher_integration.py3720
LOWtests/database/test_sqlcipher_integration.py4041
LOWtests/database/test_sqlcipher_integration.py4684
LOWtests/database/test_sqlcipher_integration.py4718
LOWtests/database/test_alembic_migrations.py4162
LOWtests/database/test_alembic_migrations.py6367
LOWtests/database/test_auth_db.py147
LOWtests/database/test_auth_db.py180
LOWtests/database/test_auth_db.py220
LOWtests/database/test_encryption_threads.py112
LOWtests/database/test_encryption_threads.py155
LOWtests/database/test_no_raw_sql.py15
LOWtests/database/test_no_raw_sql.py181
LOWtests/database/test_encrypted_db_manager.py27
LOWtests/database/test_encrypted_db_manager.py123
LOWtests/database/test_encrypted_db_manager.py193
LOWtests/database/test_encrypted_db_manager.py307
LOWtests/database/test_encrypted_db_manager.py351
LOWtests/database/test_encrypted_db_manager.py888
LOWtests/database/test_encrypted_db_manager.py1254
LOWtests/database/test_encrypted_db_manager.py1336
LOWtests/database/test_session_context.py59
LOWtests/database/test_session_context.py82
665 more matches not shown…
Docstring Block Structure99 hits · 495 pts
SeverityFileLineSnippet
HIGHtests/mock_modules.py16 Create a mock module with specified attributes. Args: module_name: Name of the module to create
HIGHexamples/optimization/run_gemini_benchmark.py87 Run benchmarks with Gemini Flash via OpenRouter. Args: examples: Number of examples to evaluate for ea
HIGHexamples/benchmarks/run_browsecomp.py62 Run BrowseComp benchmark with proper decryption using canary field. Args: num_examples: Number of exam
HIGHsrc/local_deep_research/database/sqlcipher_utils.py77 Create and store a new random salt for a database. This should be called when creating a new database. The
HIGHsrc/local_deep_research/database/sqlcipher_utils.py534 Create a properly configured SQLCipher connection. Implements the full PRAGMA sequence with proper error clean
HIGHsrc/local_deep_research/database/session_context.py84 Context manager that ensures proper database session with encryption. Now uses thread-local sessions for better
HIGHsrc/local_deep_research/database/library_init.py288 Get the ID of a source type by name. Args: username: User to query for type_name: Name of sour
HIGHsrc/local_deep_research/database/encrypted_db.py283Create a properly initialized SQLCipher connection. Follows the canonical SQLCipher initialization order: set k
HIGH…ced_search_system/filters/journal_reputation_filter.py657Analyze journal reputation via 1 SearXNG search + 1 LLM call. This is Tier 4 — the last-resort scoring path. On
HIGH…ced_search_system/filters/followup_relevance_filter.py26 Filter search results by relevance to the follow-up query. Args: results: List of source d
HIGHsrc/local_deep_research/llm/providers/openai_base.py32Factory function for OpenAI-compatible LLMs. Args: model_name: Name of the model to use
HIGHsrc/local_deep_research/llm/providers/base.py23Create and return a LangChain chat model instance. Subclasses MUST override this method. Args:
HIGH…_deep_research/llm/providers/implementations/openai.py31Factory function for OpenAI LLMs. Args: model_name: Name of the model to use temperatur
HIGH…ep_research/llm/providers/implementations/anthropic.py31Factory function for Anthropic LLMs. Args: model_name: Name of the model to use tempera
HIGH…_deep_research/llm/providers/implementations/ollama.py96Factory function for Ollama LLMs. Args: model_name: Name of the model to use temperatur
HIGHsrc/local_deep_research/embeddings/embeddings_config.py132 Get embeddings instance based on provider and model. Args: provider: Embedding provider to use (if Non
HIGHsrc/local_deep_research/embeddings/providers/base.py33 Create an embeddings instance for this provider. Args: model: Name of the embedding model
HIGH…esearch/embeddings/providers/implementations/openai.py47 Create OpenAI embeddings instance. Args: model: Model name (defaults to text-embedding-3-s
HIGH…esearch/embeddings/splitters/text_splitter_registry.py34 Get text splitter based on type. Args: splitter_type: Type of splitter ('recursive', 'token', 'sentenc
HIGHsrc/local_deep_research/chat/service.py192 Add a durable message (query/followup/response) to a chat session. Content is required and stored inli
HIGHsrc/local_deep_research/chat/service.py397 Get a chat session by ID. Args: session_id: ID of the session Returns:
HIGHsrc/local_deep_research/chat/service.py762 Archive a chat session. Refuses to archive while a research is still in_progress for the sessi
HIGHsrc/local_deep_research/config/thread_settings.py77Get setting from context only - no database access from threads. Args: key: Setting key to retrieve
HIGHsrc/local_deep_research/security/safe_requests.py149 Make a safe HTTP GET request with SSRF protection. Args: url: URL to request params: URL param
HIGHsrc/local_deep_research/security/safe_requests.py285 Make a safe HTTP POST request with SSRF protection. Args: url: URL to request data: Data to se
HIGHsrc/local_deep_research/security/safe_requests.py590`safe_get` plus exponential-backoff retry on transient errors. Retries on: * ``requests.ConnectionError``
HIGH…local_deep_research/security/notification_validator.py179 Validate a notification service URL for security issues. This function prevents SSRF attacks by valida
HIGH…local_deep_research/security/notification_validator.py332 Strict validation that raises an exception on invalid URLs. Args: url: Service URL to vali
HIGHsrc/local_deep_research/security/url_builder.py42 Build a base URL from application settings with intelligent fallbacks. This function handles the common patter
HIGHsrc/local_deep_research/security/url_builder.py92 Build a complete URL from base URL and path. Args: base_url: Base URL (e.g., "https://myapp.com")
HIGHsrc/local_deep_research/security/url_builder.py130 Validate a constructed URL. Args: url: URL to validate allowed_schemes: List of allowed scheme
HIGHsrc/local_deep_research/security/path_validator.py35 Validate and sanitize a user-provided path. Args: user_input: The user-provided path strin
HIGHsrc/local_deep_research/security/path_validator.py94 Validate a user-provided absolute filesystem path for local indexing. This is for features like local
HIGHsrc/local_deep_research/security/path_validator.py206 Re-sanitize a validated path for static analyzer recognition. This method takes an already-validated P
HIGHsrc/local_deep_research/security/path_validator.py243 Validate a model file path specifically. Args: model_path: Path to the model file
HIGHsrc/local_deep_research/security/path_validator.py286 Validate a path within the data directory. Args: file_path: Path relative to data root
HIGHsrc/local_deep_research/security/path_validator.py315 Validate a configuration file path. Args: config_path: Path to config file con
HIGHsrc/local_deep_research/security/module_whitelist.py181 Safely import a class from a module, validating against both whitelists. This function provides secure dynamic
HIGHsrc/local_deep_research/security/filename_sanitizer.py28Sanitize an uploaded filename for safe filesystem storage. Args: filename: Raw filename from the upload.
HIGHsrc/local_deep_research/security/url_validator.py287 Validate that a callback URL is well-formed and safe for HTTP/HTTPS use. This is stricter than is_safe
HIGHsrc/local_deep_research/security/network_utils.py11Check if hostname is a private/local IP address. Recognizes: - Localhost values (127.0.0.1, localhost, [::1], 0
HIGH…_research/security/file_integrity/integrity_manager.py109 Create or update integrity record for a file. Args: file_path: Path to file to record
HIGH…deep_research/security/file_integrity/base_verifier.py67 Calculate SHA256 checksum of file. Can be overridden by subclasses for different algorithms.
HIGH…eep_research/research_library/routes/library_routes.py74 Get authenticated user password from session store with fallback to g.user_password. Args: username: T
HIGHsrc/local_deep_research/exporters/odt_exporter.py61Convert markdown content to ODT using Pandoc. The conversion runs entirely in memory: markdown is piped to
HIGHsrc/local_deep_research/exporters/quarto_exporter.py57Convert markdown content to Quarto format. Args: markdown_content: The markdown text to convert
HIGHsrc/local_deep_research/exporters/ris_exporter.py50Extract references from markdown and convert to RIS format. Args: markdown_content: The markdown te
HIGHsrc/local_deep_research/exporters/latex_exporter.py49Convert markdown content to LaTeX. Args: markdown_content: The markdown text to convert
HIGHsrc/local_deep_research/exporters/pdf_exporter.py53Convert markdown content to PDF using existing PDFService. Args: markdown_content: The markdown tex
HIGH…l_deep_research/web/services/pdf_extraction_service.py24 Extract text and metadata from PDF in a single pass. This method opens the PDF only once and extracts
HIGH…c/local_deep_research/web/services/resource_service.py95 Delete a resource from the database Args: resource_id (int): The ID of the resource to delete Ret
HIGHsrc/local_deep_research/mcp/client.py450 Run an async coroutine synchronously. Helper for running async MCP operations from sync code. Args:
HIGHsrc/local_deep_research/storage/factory.py20Get a report storage instance that always uses database with optional file backup. Args: session: Database
HIGHsrc/local_deep_research/utilities/type_utils.py13 Convert a value to boolean, handling string representations. This is a standalone utility for converting any v
HIGHsrc/local_deep_research/utilities/url_utils.py33 Normalize a URL to ensure it has a proper scheme and format. Args: raw_url: The raw URL string to norm
HIGHsrc/local_deep_research/news/core/card_factory.py60Get or create the storage instance. Args: session: SQLAlchemy session. If not provided, attempts to
HIGHsrc/local_deep_research/news/core/card_factory.py104 Create a new card of the specified type. Args: card_type: Type of card to create ('news',
HIGH…/local_deep_research/benchmarks/benchmark_functions.py39 Run SimpleQA benchmark evaluation. Args: num_examples: Number of examples to evaluate search_i
HIGH…/local_deep_research/benchmarks/benchmark_functions.py126 Run BrowseComp benchmark evaluation. Args: num_examples: Number of examples to evaluate search
HIGH…/local_deep_research/benchmarks/benchmark_functions.py213 Run xbench-DeepSearch benchmark evaluation. Args: num_examples: Number of examples to evaluate (defaul
39 more matches not shown…
Unused Imports487 hits · 449 pts
SeverityFileLineSnippet
LOW.pre-commit-hooks/check-journal-quality-readonly.py15
LOWtests/database/test_schema_index_completeness.py13
LOWtests/database/test_journal_migrations_encrypted.py14
LOWtests/database/test_research_strategy_fk_regression.py14
LOWtests/database/test_fk_targets_resolve.py9
LOW…sts/database/test_journal_rebuild_data_preservation.py20
LOWtests/advanced_search_system/filters/conftest.py12
LOWtests/advanced_search_system/tools/test_fetch_modes.py8
LOWtests/integration/test_journal_quality_release_gate.py49
LOWtests/journal_quality/test_lookup_institution_keys.py8
LOWtests/journal_quality/test_openalex_common.py9
LOWtests/journal_quality/test_openalex_schema_drift.py11
LOW…s/journal_quality/test_institutions_malformed_lines.py11
LOWtests/journal_quality/test_predatory_min_floor.py10
LOWtests/mcp/test_server_coverage.py20
LOWtests/mcp/test_validation.py11
LOWtests/mcp/test_client_coverage.py30
LOWtests/mcp/test_server_validators.py9
LOWtests/mcp/test_mcp_client.py17
LOWtests/mcp/test_mcp_call_tool_parsing.py16
LOWtests/mcp/test_mcp_client_gaps.py25
LOWtests/mcp/test_server.py14
LOWtests/mcp/test_mcp_client_server_integration.py15
LOWtests/mcp/test_edge_cases.py13
LOWtests/mcp/test_integration.py13
LOWtests/mcp/test_mcp_strategy.py18
LOWtests/error_handling/test_openai_compat_errors.py9
LOWtests/performance/mcp/test_concurrent_mcp_calls.py24
LOWtests/performance/mcp/test_mcp_client_server_live.py16
LOWtests/performance/_shared/build_eval_dataset.py25
LOWtests/performance/_shared/run_full_search.py19
LOWtests/performance/relevance_filter/eval_prompt.py17
LOWtests/performance/relevance_filter/test_live.py19
LOWtests/performance/relevance_filter/eval_models.py20
LOWsrc/local_deep_research/__init__.py10
LOWsrc/local_deep_research/search_system_factory.py12
LOWsrc/local_deep_research/search_system_factory.py12
LOWsrc/local_deep_research/search_system_factory.py12
LOWsrc/local_deep_research/metrics/__init__.py3
LOWsrc/local_deep_research/metrics/__init__.py3
LOWsrc/local_deep_research/metrics/__init__.py4
LOWsrc/local_deep_research/metrics/__init__.py4
LOWsrc/local_deep_research/metrics/pricing/__init__.py8
LOWsrc/local_deep_research/metrics/pricing/__init__.py9
LOWsrc/local_deep_research/metrics/pricing/__init__.py10
LOWsrc/local_deep_research/settings/__init__.py8
LOWsrc/local_deep_research/settings/__init__.py9
LOWsrc/local_deep_research/settings/__init__.py9
LOWsrc/local_deep_research/settings/__init__.py9
LOWsrc/local_deep_research/settings/__init__.py9
LOWsrc/local_deep_research/settings/__init__.py9
LOWsrc/local_deep_research/settings/__init__.py16
LOWsrc/local_deep_research/settings/__init__.py16
LOWsrc/local_deep_research/database/models/__init__.py6
LOWsrc/local_deep_research/database/models/__init__.py7
LOWsrc/local_deep_research/database/models/__init__.py8
LOWsrc/local_deep_research/database/models/__init__.py9
LOWsrc/local_deep_research/database/models/__init__.py9
LOWsrc/local_deep_research/database/models/__init__.py9
LOWsrc/local_deep_research/database/models/__init__.py9
427 more matches not shown…
Verbosity Indicators146 hits · 238 pts
SeverityFileLineSnippet
LOWtests/test_openai_api_key_e2e.py63 # Step 1: Authenticate
LOWtests/test_openai_api_key_e2e.py70 # Step 2: Configure settings
LOWtests/test_openai_api_key_e2e.py108 # Step 3: Test LLM initialization
LOWtests/test_openai_api_key_e2e.py119 # Step 4: Test simple LLM call
LOWtests/test_openai_api_key_e2e.py142 # Step 5: Test research functionality
LOWtests/database/test_alembic_migrations.py4528 # Step 1: Migrate to 0001 only
LOWtests/database/test_alembic_migrations.py4532 # Step 2: Insert data
LOWtests/database/test_alembic_migrations.py4559 # Step 3: Upgrade to head (0005)
LOWtests/database/test_alembic_migrations.py4563 # Step 4: Verify data survived
LOWtests/database/test_alembic_migrations.py4576 # Step 5: Verify new columns exist
LOWtests/database/test_alembic_migrations.py4608 # Step 6: Another run_migrations should be no-op
LOWtests/deletion/test_cascade_integration.py241 # Step 1: Delete chunks (no FK, manual cleanup required)
LOWtests/deletion/test_cascade_integration.py247 # Step 2: Delete document (CASCADE handles blob and collection links)
LOWtests/deletion/test_cascade_integration.py406 # Step 1: Delete chunks (no FK, manual cleanup)
LOWtests/deletion/test_cascade_integration.py411 # Step 2: Delete RAG index
LOWtests/deletion/test_cascade_integration.py416 # Step 3: Delete collection (CASCADE handles folders, links)
LOWtests/chat/test_chat_e2e_flows.py18 # Step 1: Create session
LOWtests/chat/test_chat_e2e_flows.py29 # Step 2: Send a message
LOWtests/chat/test_chat_e2e_flows.py43 # Step 3: Get messages
LOWtests/security/test_csrf_e2e_flow.py30 # Step 1: GET /auth/login to get a CSRF token for registration
LOWtests/security/test_csrf_e2e_flow.py42 # Step 2: Register (auto-logs in the user)
LOWtests/security/test_csrf_e2e_flow.py61 # Step 3: Get API CSRF token from /auth/csrf-token
LOWtests/security/test_csrf_e2e_flow.py68 # Step 4: POST /api/start_research WITH CSRF token — should pass CSRF
LOWtests/security/test_csrf_e2e_flow.py88 # Step 5: POST /api/start_research WITHOUT CSRF token — should be rejected
LOWtests/web/routes/test_search_favorites.py457 # Step 1: Get empty favorites
LOWtests/web/routes/test_search_favorites.py464 # Step 2: Add searxng to favorites
LOWtests/web/routes/test_search_favorites.py473 # Step 3: Add arxiv to favorites
LOWtests/web/routes/test_search_favorites.py483 # Step 4: Remove searxng from favorites
LOWtests/ui_tests/test_research_workflow_ci.js197 // We need to check if there's any research in progress or check the page structure
LOWtests/ui_tests/test_research_diagnosis.js75 // Step 1: Authenticate
LOWtests/ui_tests/test_research_diagnosis.js80 // Step 2: Go to home page
LOWtests/ui_tests/test_research_diagnosis.js86 // Step 3: Check what's on the page
LOWtests/ui_tests/test_research_diagnosis.js151 // Step 4: Fill the form
LOWtests/ui_tests/test_research_diagnosis.js190 // Step 5: Check JavaScript state
LOWtests/ui_tests/test_research_diagnosis.js235 // Step 6: Submit the form
LOWtests/ui_tests/test_research_diagnosis.js279 // Step 7: Summary
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js41 // Step 1: Login
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js55 // Step 2: Navigate to parent research
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js65 // Step 3: Test direct API call for follow-up
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js27 // Step 1: Authenticate
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js32 // Step 2: Navigate to home
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js39 // Step 3: Configure model
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js47 // Step 4: Enter query
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js53 // Step 5: Submit research
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js69 // Step 6: Verify research started
LOWtests/ui_tests/test_metrics_display.js17 // Step 1: Create and authenticate user
LOWtests/ui_tests/test_metrics_display.js27 // Step 2: Start a simple research
LOWtests/ui_tests/test_metrics_display.js54 // Step 3: Wait a bit for metrics to be generated
LOWtests/ui_tests/test_metrics_display.js58 // Step 4: Go to metrics page
LOWtests/ui_tests/test_metrics_display.js63 // Step 5: Check what's on the page (with error handling)
LOWtests/ui_tests/DEBUG_research_submit_debug.js49 // Step 1: Login
LOWtests/ui_tests/DEBUG_research_submit_debug.js73 // Step 2: Wait for form to load
LOWtests/ui_tests/DEBUG_research_submit_debug.js98 // Step 3: Fill the form
LOWtests/ui_tests/DEBUG_research_submit_debug.js148 // Step 4: Check form values
LOWtests/ui_tests/DEBUG_research_submit_debug.js166 // Step 5: Submit the form
LOWtests/ui_tests/test_research_search_analysis.js42 // Step 1: Authentication
LOWtests/ui_tests/test_research_search_analysis.js47 // Step 2: Navigate to research page
LOWtests/ui_tests/test_research_search_analysis.js58 // Step 3: Fill in research question
LOWtests/ui_tests/test_research_search_analysis.js172 // Step 4: Submit research
LOWtests/ui_tests/test_research_search_analysis.js208 // Step 5: Analyze current state
86 more matches not shown…
AI Slop Vocabulary89 hits · 199 pts
SeverityFileLineSnippet
MEDIUMtests/test_api_settings_e2e.py80 """Test detailed_research with comprehensive settings.
MEDIUMtests/run_all_tests.py593 # Legacy comprehensive testing - runs some tests multiple times (< 15min)
MEDIUM…earch_system/filters/test_followup_relevance_filter.py328 assert call_args.count("A") < 200 # Definitely truncated from original
MEDIUM…_system/strategies/test_topic_organization_strategy.py783 """Format topic findings creates comprehensive output."""
LOW…ed_search_system/questions/test_browsecomp_question.py692 # Should not raise, just return False
MEDIUM…_system/questions/test_flexible_browsecomp_question.py257 assert call_args.count("A") < 500 # Definitely truncated from original
MEDIUMtests/infrastructure_tests/test_urls_js.py39 # More robust extraction pattern that handles multiline and comments
LOWtests/content_fetcher/test_html_content_extraction.py155 # Should not crash, just return minimal/empty output
LOWtests/security/test_safe_requests_hook.py224 # Should not raise, just return True (let other tools handle syntax)
MEDIUMtests/security/test_url_validator_extended.py96# is_safe_url -- comprehensive scheme / option / pattern tests
MEDIUMtests/security/test_safe_requests_retries.py186 # 30s band absorbs clock jitter and test-harness latency.
LOWtests/research_library/test_utils.py457 # Should not raise an error, just return False
LOW…esearch_library/downloaders/test_biorxiv_downloader.py70 # Should not raise, just return False
MEDIUMtests/research_library/routes/test_rag_routes.py2506 # Create comprehensive mock for SettingsManager
MEDIUMtests/error_handling/test_error_categorization.py301 """Tests for comprehensive error analysis."""
MEDIUMtests/ui_tests/run_api_key_test.sh38# Run the comprehensive test
MEDIUMtests/ui_tests/test_register_full_flow.js350 // Uses AuthHelper for robust CI-compatible registration with proper timeouts
MEDIUMtests/ui_tests/test_register_full_flow.js372 // Use AuthHelper which has robust CI-compatible registration logic
MEDIUMtests/ui_tests/test_checkbox_settings.js342 // Toggle checkbox using robust method
MEDIUMtests/ui_tests/test_checkbox_settings.js384 // Toggle using robust method
MEDIUMtests/ui_tests/test_checkbox_settings.js485 // Toggle the checkbox using robust method
MEDIUMtests/ui_tests/test_research_submit.js88 // Submit the form with robust retry logic
LOWtests/news/test_card_factory_extended.py777 # This should not raise, just return None
LOW…citation_handlers/test_precision_extraction_handler.py817 # Should just return the LLM response without extraction modifications
MEDIUMtests/document_loaders/test_loader_registry_coverage.py307# get_loader_for_path - comprehensive coverage
MEDIUMtests/pdf_tests/test_file_validator.py242 """Tests for validate_upload comprehensive method."""
MEDIUMtests/health_check/test_endpoints_health.py67 """Run comprehensive health check and print summary"""
LOW…ch_engines/rate_limiting/test_tracker_quality_stats.py512 # Should not raise, just return early
MEDIUMexamples/optimization/strategy_benchmark_plan.py141 num_examples=NUM_EXAMPLES, # Use 500 examples for robust evaluation
MEDIUMexamples/optimization/strategy_benchmark_plan.py185 num_examples=NUM_EXAMPLES, # Use 500 examples for robust evaluation
MEDIUMexamples/optimization/strategy_benchmark_plan.py229 num_examples=NUM_EXAMPLES, # Use 500 examples for robust evaluation
MEDIUMexamples/optimization/strategy_benchmark_plan.py274 num_examples=NUM_EXAMPLES, # Use 500 examples for robust evaluation
LOWexamples/api_usage/simple_client_example.py37 # Now just use it - no more CSRF hassles!
MEDIUM…es/api_usage/programmatic/advanced_features_example.py54 # Generate a comprehensive report
MEDIUM…/api_usage/programmatic/simple_programmatic_example.py75# Generate a comprehensive report
MEDIUM…pi_usage/programmatic/api_public_contract_guardrail.py32# DO NOT MODIFY this function — it is the test harness for the guardrail
MEDIUMexamples/benchmarks/claude_grading/run_benchmark.sh26# Use a long timeout for comprehensive benchmarks
MEDIUM.github/workflows/file-whitelist-check.yml2# Enhanced security checks with comprehensive file type detection
MEDIUM.github/workflows/gitleaks.yml37 fetch-depth: 0 # Fetch full history for comprehensive secret scanning
MEDIUM.github/workflows/playwright-webkit-tests.yml142 # - mobile-ui-audit: comprehensive mobile UI quality checks
MEDIUM.github/workflows/playwright-webkit-tests.yml298 # - mobile-ui-audit: comprehensive mobile UI quality checks
MEDIUM.github/scripts/file-whitelist-check.sh4# Enhanced security checks with comprehensive file type detection
MEDIUM.github/scripts/file-whitelist-check.sh57# Use a more robust approach that handles edge cases
MEDIUMsrc/local_deep_research/report_generator.py422 # Section-level prompt - more comprehensive
MEDIUMsrc/local_deep_research/search_system.py29 strategy_name: str = "source-based", # Default to comprehensive research strategy
MEDIUM…ced_search_system/filters/journal_reputation_filter.py91 # controls — the comprehensive pattern audited in log_sanitizer,
MEDIUM…arch/advanced_search_system/strategies/mcp_strategy.py1596 prompt = f"""Based on the research conducted, provide a comprehensive answer to the query.
MEDIUM…earch_system/strategies/constrained_search_strategy.py144 # Add comprehensive debug summary
MEDIUM…earch_system/strategies/constrained_search_strategy.py358 # Continue searching to build a comprehensive list
MEDIUM…earch_system/strategies/constrained_search_strategy.py398 # Generic comprehensive queries
MEDIUM…earch_system/strategies/constrained_search_strategy.py860 """Format comprehensive debug summary."""
MEDIUM…earch_system/strategies/constrained_search_strategy.py1052 """Execute a comprehensive search using source-based strategy for complex queries."""
MEDIUM…/advanced_search_system/strategies/modular_strategy.py739 prompt = f"""Based on the search results, provide a comprehensive answer to: {query}
MEDIUM…earch_system/strategies/topic_organization_strategy.py1675 # Part 2: Generate comprehensive summary based on the topic sections
MEDIUM…arch_system/strategies/iterative_reasoning_strategy.py734 # Create comprehensive answer
MEDIUM…arch_system/strategies/iterative_reasoning_strategy.py750 # Add comprehensive final synthesis to findings
MEDIUM…_system/strategies/recursive_decomposition_strategy.py340 synthesis_prompt = f"""Based on the following subtask results, provide a comprehensive answer to the original qu
MEDIUM…rch_system/strategies/browsecomp_optimized_strategy.py715 # Add comprehensive findings
MEDIUM…em/strategies/followup/enhanced_contextual_followup.py69 # Build comprehensive context
MEDIUM…advanced_search_system/knowledge/standard_knowledge.py30 prompt = f"""Based on the following query and questions, generate comprehensive knowledge:
29 more matches not shown…
Magic Placeholder Names27 hits · 158 pts
SeverityFileLineSnippet
HIGH.gitleaks.toml205 '''your-api-key-here''',
HIGHdocker-compose.yml91 # - LDR_LLM_OPENAI_API_KEY=<your-api-key> # Lock OpenAI API key
HIGHdocker-compose.yml92 # - LDR_LLM_ANTHROPIC_API_KEY=<your-api-key> # Lock Anthropic API key
HIGHdocker-compose.yml102 # - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>
HIGHdocker-compose.yml111 # - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>
HIGHtests/test_openai_api_key_e2e.py18 export LDR_LLM_OPENAI_API_KEY=your_api_key
HIGHdocs/faq.md346 export LDR_LLM_OPENAI_ENDPOINT_API_KEY="<your-api-key>"
HIGHdocs/faq.md357 - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>
HIGHdocs/docker-compose-guide.md140 - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>
HIGHdocs/troubleshooting-openai-api-key.md19export OPENAI_API_KEY=sk-your-api-key
HIGHdocs/troubleshooting-openai-api-key.md42 export OPENAI_API_KEY=sk-your-api-key
HIGHdocs/troubleshooting-openai-api-key.md54 settings_manager.set_setting("llm.openai.api_key", "sk-your-api-key")
HIGHdocs/troubleshooting-openai-api-key.md74 -H "Authorization: Bearer YOUR_API_KEY"
HIGHdocs/troubleshooting-openai-api-key.md218settings_manager.set_setting("llm.openai.api_key", "your-api-key")
HIGHdocs/env_configuration.md75export LDR_LLM_OPENAI_ENDPOINT_API_KEY="<your-api-key>"
HIGHdocs/env_configuration.md89 - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>
HIGHdocs/env_configuration.md105export LDR_LLM_OPENAI_ENDPOINT_API_KEY="<your-api-key>"
HIGHdocs/env_configuration.md115 -e LDR_LLM_OPENAI_API_KEY=your-api-key-here \
HIGHdocs/env_configuration.md153export LDR_LLM_ANTHROPIC_API_KEY=your-api-key-here
HIGHdocs/env_configuration.md156set LDR_LLM_ANTHROPIC_API_KEY=your-api-key-here
HIGHexamples/optimization/README.md47 python update_llm_config.py --model "google/gemini-2.0-flash" --provider "openai_endpoint" --endpoint "https://openrou
HIGHexamples/optimization/README.md52 python run_gemini_benchmark.py --api-key "your-api-key" --examples 10
HIGHexamples/optimization/update_llm_config.py14 pdm run python examples/optimization/update_llm_config.py --model "google/gemini-2.0-flash" --provider "openai_endpo
HIGHexamples/benchmarks/run_gemini_benchmark.py13 pdm run python examples/benchmarks/run_gemini_benchmark.py --api-key YOUR_API_KEY
HIGH…deep_research/web_search_engines/search_engine_base.py664 "YOUR_API_KEY",
HIGH…deep_research/web_search_engines/search_engine_base.py666 "your_api_key",
HIGH…deep_research/web_search_engines/search_engine_base.py667 "your-api-key",
Hallucination Indicators13 hits · 145 pts
SeverityFileLineSnippet
CRITICALtests/security/test_file_integrity_manager_coverage.py919 session.query.return_value.filter_by.return_value.order_by.return_value.limit.assert_called()
CRITICALtests/js/deletion/delete-modules.test.js115 const deleteCall = window.api.fetchWithErrorHandling.mock.calls.find(
CRITICALtests/web/auth/test_cleanup_middleware.py332 mock_db_session.query.return_value.filter_by.return_value.limit.assert_called_with(
CRITICALtests/web/routes/test_history_routes_coverage.py246 chain.group_by.return_value.order_by.return_value.limit.assert_called_with(
CRITICALtests/web/routes/test_history_routes_coverage.py249 chain.group_by.return_value.order_by.return_value.limit.return_value.offset.assert_called_with(
CRITICALtests/web/routes/test_history_routes_coverage.py269 chain.group_by.return_value.order_by.return_value.limit.assert_called_with(
CRITICALtests/news/test_rating_storage_extended.py529 mock_query.filter_by.return_value.order_by.return_value.limit.assert_called_with(
CRITICALtests/news/test_folder_manager_behavior.py268 session.query.return_value.filter_by.return_value.update.assert_called()
CRITICALtests/news/test_folder_manager_behavior.py277 session.query.return_value.filter_by.return_value.update.assert_called()
CRITICALtests/news/test_folder_manager_extended.py255 mock_session.query.return_value.filter_by.return_value.update.assert_called_once_with(
CRITICALtests/news/test_folder_manager_extended.py271 mock_session.query.return_value.filter_by.return_value.update.assert_called_once_with(
CRITICALtests/news/rating_system/test_storage.py373 mock_query.order_by.return_value.limit.return_value.offset.assert_called_once_with(
CRITICAL.github/workflows/welcome-first-time.yml59 const opts = github.rest.issues.listForRepo.endpoint.merge({
Over-Commented Block148 hits · 126 pts
SeverityFileLineSnippet
LOWdocker-compose.gpu.override.yml1# ============================================================================
LOWdocker-compose.unraid.yml1# ============================================================================
LOW.hadolint.yaml1# Hadolint configuration file
LOW.hadolint.yaml21 # caching. npm ci, npm run build, and pdm install have different change
LOW.file-whitelist.txt1# ============================================================================
LOWpyproject.toml401
LOWpyproject.toml421# `name` is set explicitly so towncrier never tries to import the
LOWdocker-compose.yml1# ============================================================================
LOWdocker-compose.yml41 # Only use environment variables if you want to enforce specific settings
LOWdocker-compose.yml61 # Example - to expose on port 8080 instead of 5000:
LOWdocker-compose.yml81 # Register your initial account FIRST, then set this to false.
LOWdocker-compose.yml101 # - LDR_LLM_OPENAI_ENDPOINT_URL=https://openrouter.ai/api/v1
LOWdocker-compose.yml121 # - LDR_LLM_LMSTUDIO_API_KEY=<api-key-if-required> # optional; leave out for unauth instances
LOWdocker-compose.yml141 # ============================================================================
LOWeslint.config.js241 "chai-friendly/no-unused-expressions": "error",
LOWeslint.config.js301 confirm: "readonly",
LOWbearer.yml1# Bearer SAST Scanner Configuration
LOWbearer.yml21
LOWbearer.yml41 # - validate_local_filesystem_path(): Explicit traversal checks + safe_join()
LOWbearer.yml61 # --------------------------------------------------------------
LOWbearer.yml81 # - escapeHtml() inline fallbacks in component files
LOWbearer.yml101 # Observable timing alerts (javascript_lang_observable_timing)
LOWcommunity_benchmark_results/benchmark_template.yaml61test_details:
LOWtests/settings/test_settings_defaults_integrity.py41KNOWN_UNUSED = {
LOWtests/settings/test_settings_defaults_integrity.py61 "llm.model",
LOWtests/database/test_settings_models.py421 # Note: onupdate might not trigger in SQLite without proper configuration
LOWtests/database/test_migration_0010.py221 # Relies on 0010 using server_default="0" (SQL-side, applied by
LOWtests/database/test_paper_dedup_integration.py461 assert len(all_papers) == 1, (
LOWtests/database/test_paper_dedup_integration.py481 # dedup coverage above (test_same_doi_deduped_across_two_sources,
LOWtests/database/test_sqlcipher_connection_factory.py341# the inline SQLCipher creator inside create_thread_safe_session_for_metrics.
LOWtests/chat/test_chat_research_history_integration.py101# stored inline (snapshot semantics). The "fetch from
LOWtests/security/test_xss_prevention.py221 # DOM-based XSS happens when client-side JavaScript uses untrusted data
LOWtests/security/test_xss_prevention.py241 @pytest.mark.skip(reason="documentation/placeholder test - not implemented")
LOWtests/security/test_auth_security.py21 LDR uses SQLCipher encryption for user databases.
LOWtests/security/test_auth_security.py121 """Test that logout completely invalidates the session."""
LOWtests/security/test_sql_injection.py281 # - session.query() - ✓ Safe (parameterized)
LOWtests/security/test_csrf_protection.py161 # Tokens should be stable within same session
LOWtests/security/test_csrf_protection.py181 assert get_response.status_code in [200, 302, 404] # Should work
LOWtests/security/test_csrf_protection.py201 # - Request body (for form submissions)
LOWtests/js/components/logpanel.test.js301 // Force the panel into an expanded state so addConsoleLog goes
LOW…_library/services/test_library_rag_service_coverage.py1481 # Patch FAISS.load_local ONCE, around both threads. Patching
LOWtests/web/queue/test_processor_v2_real.py881 # Rollback happened after the commit failure.
LOW…sts/ui_tests/chat/test_chat_report_content_refactor.js361 PROGRESS_SHOT_INTERVAL_MS / 1000
LOWtests/news/test_flask_api_scheduler_coverage.py21import pytest
LOWscripts/dev/restart_server.sh1#!/bin/bash
LOW.github/FUNDING.yml1# These are supported funding model platforms
LOW.github/workflows/release-gate.yml1name: Release Gate
LOW.github/workflows/release-gate.yml161
LOW.github/workflows/release-gate.yml221
LOW.github/workflows/release-gate.yml281 # ============================================
LOW.github/workflows/release-gate.yml301 # │ because PDM applies overrides differently. │
LOW.github/workflows/docker-publish.yml1name: Publish Docker image
LOW.github/workflows/docker-publish.yml201 # binary from GitHub releases by exact tag, which is the same
LOW.github/workflows/compose-published-smoke.yml1name: Compose Published-Image Smoke
LOW.github/workflows/compose-published-smoke.yml121 sleep 10
LOW.github/workflows/release.yml81 # SECURITY GATE - All security scans must pass before release proceeds
LOW.github/workflows/release.yml401 # release-env jobs together: prerelease-docker, publish-docker,
LOW.github/workflows/release.yml421 # future edit to prerelease-docker.yml that references an unrelated
LOW.github/workflows/release.yml581 # Compose the release body before creation so the published body is
LOW.github/workflows/release.yml641 HAND_NOTES=$(cat "$RELEASE_NOTES_FILE")
88 more matches not shown…
Fake / Example Data61 hits · 63 pts
SeverityFileLineSnippet
LOWtests/test_search_engines_enhanced.py167 Mock(name="John Doe"),
LOWtests/mock_fixtures.py122 "authors": [{"name": "John Doe"}, {"name": "Jane Smith"}],
LOWtests/database/test_credential_store_behavior.py340 special_user = "user@example.com"
LOWtests/database/backup/test_backup_service.py3261 "user@example.com", # Email format
LOW…/advanced_search_system/evidence/test_base_evidence.py120 metadata = {"author": "John Doe", "publication": "Science Journal"}
LOW…/advanced_search_system/evidence/test_base_evidence.py129 assert evidence.metadata["author"] == "John Doe"
LOW…system/strategies/test_browsecomp_entity_pure_logic.py85 e = _entity("Acme Corp")
LOW…system/strategies/test_browsecomp_entity_pure_logic.py87 assert "Acme Corp" in g.entities
LOW…system/strategies/test_browsecomp_entity_pure_logic.py222 score = self._call("Acme Corp")
LOW…h_system/strategies/test_evidence_based_v2_extended.py126 mock_strategy._extract_author.return_value = "John Doe"
LOW…h_system/strategies/test_evidence_based_v2_extended.py128 author = mock_strategy._extract_author({"author": "John Doe"})
LOW…h_system/strategies/test_evidence_based_v2_extended.py130 assert author == "John Doe"
LOWtests/js/utils/form-validation.test.js271 expect(emailLike('user@example.com')).toBeNull();
LOW…/research_library/downloaders/test_arxiv_downloader.py254 assert "John Doe" in metadata
LOW…esearch_library/downloaders/test_metadata_extractor.py80 "author": {"name": "Jane Doe"},
LOW…esearch_library/downloaders/test_metadata_extractor.py90 assert "Jane Doe" in result
LOW…rary/downloaders/test_html_downloader_deep_coverage.py407 <meta name="author" content="John Doe">
LOW…rary/downloaders/test_html_downloader_deep_coverage.py416 assert meta["author"] == "John Doe"
LOW…ibrary/downloaders/test_metadata_extractor_expanded.py157 item = {"headline": "Story", "author": "Jane Doe"}
LOW…ibrary/downloaders/test_metadata_extractor_expanded.py160 assert "Jane Doe" in text
LOWtests/search_engines/conftest.py138 "authors": ["John Doe", "Jane Smith"],
LOW…sts/search_engines/test_search_engine_stackexchange.py345 "display_name": "John Doe",
LOW…sts/search_engines/test_search_engine_stackexchange.py375 assert previews[0]["author"] == "John Doe"
LOWtests/search_engines/test_search_engine_retriever.py184 "author": "John Doe",
LOWtests/search_engines/test_search_engine_retriever.py194 assert result["author"] == "John Doe"
LOWtests/search_engines/test_search_engine_paperless.py307 "correspondent_name": "Acme Corp",
LOWtests/search_engines/test_search_engine_paperless.py321 assert preview["author"] == "Acme Corp"
LOWtests/search_engines/test_search_engine_arxiv.py106 mock_result.authors = [Mock(name="John Doe"), Mock(name="Jane Smith")]
LOWtests/search_engines/test_search_engine_zenodo.py132 {"name": "Jane Doe"},
LOWtests/search_engines/test_search_engine_zenodo.py136 assert result == ["John Smith", "Jane Doe"]
LOWtests/utilities/test_citation_normalizer.py79 result = _parse_authors_list(["John Smith", "Jane Doe"])
LOWtests/news/test_base_recommender.py4114 user_id = "user@example.com"
LOWtests/news/test_base_subscription.py4630 user_id = "user@example.com"
LOWtests/news/test_preference_storage.py868 "user_id": "user@example.com",
LOWtests/news/test_preference_storage.py875 result = storage.get_user_preferences("user@example.com")
LOWtests/news/test_preference_storage.py877 assert result["user_id"] == "user@example.com"
LOWtests/news/test_base_card_extended.py879 "people": ["John Doe", "Jane Smith"],
LOWtests/news/test_base_card_extended.py885 assert "John Doe" in card.entities["people"]
LOWtests/document_loaders/test_upload_integration.py218 assert "John Doe" in extracted or "name" in extracted
LOW…_engines/engines/test_search_engine_serper_coverage.py100 "attributes": {"Author": "Jane Doe"},
LOW…_engines/engines/test_search_engine_serper_coverage.py111 assert p["attributes"] == {"Author": "Jane Doe"}
LOW…_search_engines/engines/test_search_engine_openalex.py164 {"author": {"display_name": "John Doe"}},
LOW…_search_engines/engines/test_search_engine_openalex.py189 assert "John Doe" in previews[0]["authors"]
LOW…_search_engines/engines/test_search_engine_openalex.py492 "authors": "John Doe",
LOW…_search_engines/engines/test_search_engine_openalex.py506 assert results[0]["metadata"]["authors"] == "John Doe"
LOW…engines/engines/test_search_engine_semantic_scholar.py502 "authors": [{"name": "John Doe"}],
LOW…_search_engines/engines/test_search_engine_guardian.py259 "byline": "John Doe",
LOW…_search_engines/engines/test_search_engine_guardian.py373 "author": "John Doe",
LOW…_search_engines/engines/test_search_engine_guardian.py455 "author": "John Doe",
LOWtests/web_search_engines/engines/test_arxiv_coverage.py802 engine.search_by_author("John Doe")
LOWtests/web_search_engines/engines/test_arxiv_coverage.py803 mock_run.assert_called_once_with('au:"John Doe"')
LOWtests/web_search_engines/engines/test_arxiv_coverage.py810 engine.search_by_author("Jane Doe", max_results=50)
LOW…_search_engines/engines/test_search_engine_nasa_ads.py492 "authors": "John Doe",
LOW…_search_engines/engines/test_search_engine_nasa_ads.py506 assert results[0]["metadata"]["authors"] == "John Doe"
LOW…search_engines/engines/test_search_engine_retriever.py151 "author": "John Doe",
LOW…search_engines/engines/test_search_engine_retriever.py160 assert result["author"] == "John Doe"
LOW…search_engines/engines/test_search_engine_paperless.py394 "correspondent_name": "John Doe",
LOW…web_search_engines/engines/test_search_engine_arxiv.py657 engine.search_by_author("John Doe")
LOW…web_search_engines/engines/test_search_engine_arxiv.py659 mock_run.assert_called_once_with('au:"John Doe"')
LOW…web_search_engines/engines/test_search_engine_arxiv.py675 engine.search_by_author("John Doe", max_results=50)
1 more matches not shown…
Cross-Language Confusion10 hits · 61 pts
SeverityFileLineSnippet
HIGH.pre-commit-hooks/recommend-pr-description-update.py64 The ``currentBranch`` key is a single object (or null) — not an array.
HIGHtests/config/test_thread_settings_high_value.py128 # embeddings.openai.dimensions defaults to JSON null, then
HIGHtests/web/warning_checks/test_hardware.py305 config_file.write_text('{"port": null}', encoding="utf-8")
HIGHtests/news/test_topic_generator_coverage.py113 result = self._run_with_llm_content('[123, "Valid", null, true]')
HIGHsrc/local_deep_research/config/thread_settings.py25# (e.g. embeddings.openai.dimensions, which defaults to JSON null) into the
HIGHsrc/local_deep_research/security/url_validator.py500 if (!url || typeof url !== 'string') {
HIGHsrc/local_deep_research/security/url_validator.py531 if (trustedDomains.length > 0 && parsed.hostname) {
HIGHsrc/local_deep_research/security/url_validator.py552 if (!url) return null;
HIGHsrc/local_deep_research/security/url_validator.py556 return null;
HIGHsrc/local_deep_research/security/url_validator.py572 return null;
Dead Code11 hits · 19 pts
SeverityFileLineSnippet
MEDIUM…ch_library/routes/test_rag_routes_indexing_coverage.py366
MEDIUM…search_library/routes/test_rag_routes_deep_coverage.py1147
MEDIUM…search_library/routes/test_rag_routes_deep_coverage.py1174
MEDIUM…search_library/routes/test_rag_routes_deep_coverage.py1199
MEDIUMtests/web/queue/test_queue_manager.py35
MEDIUMtests/web/routes/test_context_overflow_coverage.py649
MEDIUMtests/web/routes/test_context_overflow_coverage.py873
MEDIUMtests/web/routes/test_context_overflow_api_http.py329
MEDIUMtests/web/routes/test_context_overflow_api_http.py477
MEDIUM…rch_engines/engines/test_embedding_manager_coverage.py422
MEDIUM…rch_engines/engines/test_embedding_manager_coverage.py567
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippet
HIGHtests/test_programmatic_custom_llm_retriever.py77 # Using gemma3n:e4b as requested
HIGH.github/workflows/release.yml586 # 1. AI-generated narrative (model = vars.AI_MODEL). Fed the
Cross-Language Confusion (JS/TS)2 hits · 12 pts
SeverityFileLineSnippet
HIGHtests/ui_tests/test_lib/test_results.js203 print() {
HIGH…cal_deep_research/web/static/js/components/settings.js2511 * @return True if the content is valid.
Slop Phrases6 hits · 12 pts
SeverityFileLineSnippet
MEDIUM…tation_handlers/test_forced_answer_citation_handler.py90 content = "I cannot provide a specific answer based on the sources."
MEDIUMexamples/optimization/example_quick_optimization.py35 This is just for demonstration purposes.
MEDIUMexamples/optimization/example_quick_optimization.py274 "\nNote: This is a simulation for demonstration purposes only. Real optimization"
MEDIUMexamples/optimization/multi_benchmark_simulation.py176 """Simulates Optuna optimizer for demonstration purposes."""
MEDIUMexamples/optimization/multi_benchmark_simulation.py406 print("\nNote: This is a simulation for demonstration purposes only.")
MEDIUM.github/workflows/codeql.yml61 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
Example Usage Blocks2 hits · 4 pts
SeverityFileLineSnippet
LOWdocker-compose.gpu.override.yml11# Usage:
LOWsrc/local_deep_research/web/routes/route_registry.py360 # Example usage
Overly Generic Function Names3 hits · 4 pts
SeverityFileLineSnippet
LOWtests/security/test_env_vars_hook.py120def process_data(data):
LOWtests/utilities/test_thread_context.py221 def my_function():
LOWtests/utilities/test_db_utils.py242 def my_function():