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.

45.0 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of LearningCircuit/local-deep-research, a Python project with 9,001 GitHub stars. SynthScan v2.0 examined 1,226,610 lines of code across 3290 source files, recording 40275 pattern matches distributed across 26 syntactic categories. The overall adjusted score of 45.0 places this repository in the Strong AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

45.0
Adjusted Score
45.0
Raw Score
100%
Time Factor
2026-08-28
Last Push
9.0K
Stars
Python
Language
1.2M
Lines of Code
3.3K
Files
40.3K
Pattern Hits
2026-08-29
Scan Date
0.11
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 20HIGH 332MEDIUM 6257LOW 33666

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 40275 distinct pattern matches across 26 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers29114 hits · 26615 pts
SeverityFileLineSnippetContext
LOW.pre-commit-hooks/custom-checks.py156 def _format_string_references_exception(self, node):CODE
LOW.pre-commit-hooks/custom-checks.py180 def _string_concat_references_exception(self, node):CODE
LOW.pre-commit-hooks/check-bearer-disable.py112def _classify_js_line_comment(CODE
LOW.pre-commit-hooks/check-fixture-duplication.py78def find_module_level_fixture_redefinitions(CODE
LOW…e-commit-hooks/check-settings-manager-thread-safety.py81 def _check_body_for_unsafe_calls(self, node) -> None:CODE
LOW…e-commit-hooks/check-settings-manager-thread-safety.py117 def _is_get_settings_manager_call(call_node: ast.Call) -> bool:CODE
LOW.pre-commit-hooks/check-sensitive-logging.py211 def _compute_wrapper_import_hint(self) -> str:CODE
LOW.pre-commit-hooks/check-sensitive-logging.py320 def _apply_definite_subject_assignments(CODE
LOW.pre-commit-hooks/check-sensitive-logging.py369 def _pattern_exception_aliases(CODE
LOW.pre-commit-hooks/check-sensitive-logging.py654 def _is_literal_dynamic_import(node: ast.AST, module: str) -> bool:CODE
LOW.pre-commit-hooks/check-sensitive-logging.py746 def _check_import_from_secure_dir(self, node: ast.ImportFrom) -> None:CODE
LOW.pre-commit-hooks/check-sensitive-logging.py1208 def _check_exc_info_on_warning(self, node: ast.Call) -> None:CODE
LOW.pre-commit-hooks/check-sensitive-logging.py1230 def _check_exception_var_in_log(self, node: ast.Call) -> None:CODE
LOW.pre-commit-hooks/check-sensitive-logging.py1365 def _check_expression_for_sensitive_data(CODE
LOW.pre-commit-hooks/check-service-context-managers.py229 def _check_statements_recursive(CODE
LOW.pre-commit-hooks/check-session-context-manager.py34 def _check_function_for_pattern(self, func_node) -> None:CODE
LOW.pre-commit-hooks/check-session-context-manager.py62 def _get_session_var_from_assign(self, assign_node: ast.Assign) -> str:CODE
LOW.pre-commit-hooks/check-session-context-manager.py93 def _has_session_close_in_finally(CODE
LOW.pre-commit-hooks/check-settings-key-namespace.py88def _extract_frozenset_strings(node):CODE
LOWtests/test_api_settings_validation.py16 def test_temperature_validation(self):CODE
LOWtests/test_api_settings_validation.py48 def test_provider_name_normalization(self):CODE
LOWtests/test_api_settings_validation.py65 def test_search_results_validation(self):CODE
LOWtests/test_api_settings_validation.py84 def test_quick_summary_with_invalid_provider(self, mock_init):CODE
LOWtests/test_api_settings_validation.py96 def test_quick_summary_with_missing_api_key(self, mock_init):CODE
LOWtests/test_api_settings_validation.py118 def test_settings_with_circular_references(self):CODE
LOWtests/test_api_settings_validation.py141 def test_environment_variable_type_conversion(self, monkeypatch):CODE
LOWtests/test_api_settings_validation.py159 def test_invalid_environment_variable_values(self, monkeypatch):CODE
LOWtests/test_api_settings_validation.py171 def test_environment_variable_precedence(self, monkeypatch):CODE
LOWtests/test_api_settings_validation.py195 def test_minimal_configuration(self):CODE
LOWtests/test_api_settings_validation.py208 def test_common_research_presets(self):CODE
LOWtests/test_api_settings_validation.py292 def test_legacy_setting_names(self):CODE
LOWtests/test_context_overflow_detection.py58 def test_context_overflow_detection_no_overflow(self, token_callback):CODE
LOWtests/test_context_overflow_detection.py87 def test_context_overflow_detection_with_overflow(self, token_callback):CODE
LOWtests/test_context_overflow_detection.py117 def test_ollama_raw_metrics_capture(self, token_callback):CODE
LOWtests/test_context_overflow_detection.py150 def test_context_limit_from_research_context(self):CODE
LOWtests/test_context_overflow_detection.py168 def test_prompt_size_estimation(self, token_callback):CODE
LOWtests/test_context_overflow_detection.py192 def test_overflow_warning_logged(self, mock_logger, token_callback):CODE
LOWtests/test_context_overflow_detection.py223 def test_estimated_overflow_for_non_ollama_provider(CODE
LOWtests/test_context_overflow_detection.py259 def test_provider_confirmed_total_context_overflow(CODE
LOWtests/test_context_overflow_detection.py295 def test_estimated_total_context_overflow_for_non_ollama(CODE
LOWtests/test_context_overflow_detection.py335 def test_estimated_total_context_overflow_via_llm_output(CODE
LOWtests/test_context_overflow_detection.py386 def test_estimated_path_fires_on_subsequent_calls_after_first_truncation(CODE
LOWtests/test_context_overflow_detection.py399 def llm_output_overflow_response():CODE
LOWtests/test_context_overflow_detection.py428 def test_estimated_overflow_skipped_when_context_limit_none(CODE
LOWtests/test_context_overflow_detection.py456 def test_estimated_overflow_zero_prompt_estimate(CODE
LOWtests/test_context_overflow_detection.py481 def test_estimated_overflow_without_on_llm_start(CODE
LOWtests/test_context_overflow_detection.py510 def test_ollama_context_overflow_real(self):CODE
LOWtests/TESTING_PROPOSAL.md263def test_create_documents_empty(citation_handler):CODE
LOWtests/TESTING_PROPOSAL.md269def test_create_documents_string(citation_handler):CODE
LOWtests/test_utils.py62def assert_search_result_format(result: Dict[str, Any]):CODE
LOWtests/test_utils.py112def create_test_research_context(query: str = "test query") -> Dict[str, Any]:CODE
LOWtests/test_utils.py157def assert_progress_callback_called(CODE
LOWtests/test_search_system_factory_high_value.py25 def test_all_entries_are_dicts(self):CODE
LOWtests/test_search_system_factory_high_value.py29 def test_all_entries_have_name_key(self):CODE
LOWtests/test_search_system_factory_high_value.py33 def test_all_entries_have_description_key(self):CODE
LOWtests/test_search_system_factory_high_value.py37 def test_all_names_are_nonempty_strings(self):CODE
LOWtests/test_search_system_factory_high_value.py42 def test_all_descriptions_are_nonempty_strings(self):CODE
LOWtests/test_search_system_factory_high_value.py77 def test_returns_copy_not_original(self):CODE
LOWtests/test_search_system_factory_high_value.py81 def test_copy_has_same_length(self):CODE
LOWtests/test_search_system_factory_high_value.py85 def test_copy_has_same_content(self):CODE
29054 more matches not shown…
Decorative Section Separators5456 hits · 20022 pts
SeverityFileLineSnippetContext
MEDIUMdocker-compose.gpu.override.yml1# ============================================================================COMMENT
MEDIUMdocker-compose.gpu.override.yml3# ============================================================================COMMENT
MEDIUMdocker-compose.gpu.override.yml21# ============================================================================COMMENT
MEDIUMdocker-compose.unraid.yml1# ============================================================================COMMENT
MEDIUMdocker-compose.unraid.yml3# ============================================================================COMMENT
MEDIUMdocker-compose.unraid.yml16# ============================================================================COMMENT
MEDIUM.file-whitelist.txt1# ============================================================================COMMENT
MEDIUM.file-whitelist.txt11# ============================================================================COMMENT
MEDIUM.file-whitelist.txt13# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt15# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt23# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt25# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt40# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt42# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt56# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt58# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt66# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt68# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt77# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt79# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt99# ---------------------------------------------------------------------------COMMENT
MEDIUM.file-whitelist.txt102# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml424# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml426# ---------------------------------------------------------------------------COMMENT
MEDIUM.grype.yaml9 # ==========================================================================COMMENT
MEDIUM.grype.yaml11 # ==========================================================================COMMENT
MEDIUM.grype.yaml32 # ==========================================================================COMMENT
MEDIUM.grype.yaml34 # ==========================================================================COMMENT
MEDIUM.grype.yaml88 # ==========================================================================COMMENT
MEDIUM.grype.yaml93 # ==========================================================================COMMENT
MEDIUM.grype.yaml143 # ==========================================================================COMMENT
MEDIUM.grype.yaml166 # ==========================================================================COMMENT
MEDIUM.grype.yaml201 # --------------------------------------------------------------------------COMMENT
MEDIUM.grype.yaml214 # --------------------------------------------------------------------------COMMENT
MEDIUM.grype.yaml256 # ==========================================================================COMMENT
MEDIUM.grype.yaml264 # ==========================================================================COMMENT
MEDIUM.grype.yaml292 # ==========================================================================COMMENT
MEDIUM.grype.yaml294 # ==========================================================================COMMENT
MEDIUMdocker-compose.yml34 # ============================================================================COMMENT
MEDIUMdocker-compose.yml36 # ============================================================================COMMENT
MEDIUMdocker-compose.yml46 # ============================================================================COMMENT
MEDIUMdocker-compose.yml48 # ============================================================================COMMENT
MEDIUMdocker-compose.yml54 # ============================================================================COMMENT
MEDIUMdocker-compose.yml59 # ============================================================================COMMENT
MEDIUMdocker-compose.yml66 # ============================================================================COMMENT
MEDIUMdocker-compose.yml68 # ============================================================================COMMENT
MEDIUMdocker-compose.yml78 # ============================================================================COMMENT
MEDIUMdocker-compose.yml82 # ============================================================================COMMENT
MEDIUMdocker-compose.yml86 # ============================================================================COMMENT
MEDIUMdocker-compose.yml89 # ============================================================================COMMENT
MEDIUMdocker-compose.yml92 # ============================================================================COMMENT
MEDIUMdocker-compose.yml98 # ============================================================================COMMENT
MEDIUMdocker-compose.yml103 # ============================================================================COMMENT
MEDIUMdocker-compose.yml109 # ============================================================================COMMENT
MEDIUMdocker-compose.yml112 # ============================================================================COMMENT
MEDIUMdocker-compose.yml118 # ============================================================================COMMENT
MEDIUMdocker-compose.yml122 # ============================================================================COMMENT
MEDIUMdocker-compose.yml130 # ============================================================================COMMENT
MEDIUMdocker-compose.yml134 # ============================================================================COMMENT
MEDIUMdocker-compose.yml137 # ============================================================================COMMENT
5396 more matches not shown…
Excessive Try-Catch Wrapping1953 hits · 1866 pts
SeverityFileLineSnippetContext
LOW.pre-commit-hooks/check-css-class-prefix.py177 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-css-class-prefix.py178 print(f"Error reading {file_path}: {e}", file=sys.stderr)CODE
LOW.pre-commit-hooks/check-css-class-prefix.py331 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-css-class-prefix.py332 print(f"Error reading {file_path}: {e}", file=sys.stderr)CODE
LOW.pre-commit-hooks/check-css-class-prefix.py450 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-css-class-prefix.py451 print(f"Error reading {file_path}: {e}", file=sys.stderr)CODE
LOW.pre-commit-hooks/check-absolute-module-paths.py115 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-absolute-module-paths.py116 print(f"Error reading {filename}: {e}")CODE
LOW.pre-commit-hooks/check-absolute-module-paths.py133 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-absolute-module-paths.py134 print(f"Error parsing {filename}: {e}")CODE
LOW.pre-commit-hooks/check-absolute-module-paths.py148 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-absolute-module-paths.py149 print(f"Error reading {filename}: {e}")CODE
LOW.pre-commit-hooks/check-env-vars.py281 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-env-vars.py282 print(f"Error reading {filename}: {e}")CODE
LOW.pre-commit-hooks/check-env-vars.py299 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-env-vars.py300 print(f"Error parsing {filename}: {e}")CODE
LOW.pre-commit-hooks/check-pathlib-usage.py177 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-pathlib-usage.py178 print(f"Error reading {filepath}: {e}", file=sys.stderr)CODE
LOW.pre-commit-hooks/check-utcnow-parens.py34 except Exception:CODE
LOW.pre-commit-hooks/check-double-escaping.py130 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-double-escaping.py131 print(f"Error checking {file_path}: {e}")CODE
LOW.pre-commit-hooks/check-url-security.py143 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-url-security.py144 print(f"Error checking {file_path}: {e}")CODE
LOW.pre-commit-hooks/check-no-src-test-imports.py111 except Exception as e: # pragma: no cover - unreadable fileCODE
MEDIUM.pre-commit-hooks/check-no-src-test-imports.py112 print(f"Error reading {filename}: {e}")CODE
LOW.pre-commit-hooks/fix-exception-logging.py234 except Exception:CODE
LOW.pre-commit-hooks/check-silent-cleanup.py187 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-silent-cleanup.py188 print(f"Error reading {filename}: {e}")CODE
LOW.pre-commit-hooks/check-silent-cleanup.py209 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-silent-cleanup.py210 print(f"Error parsing {filename}: {e}")CODE
LOW.pre-commit-hooks/custom-checks.py543 except Exception as e:CODE
MEDIUM.pre-commit-hooks/custom-checks.py544 print(f"Error reading {filename}: {e}")CODE
LOW.pre-commit-hooks/custom-checks.py570 except Exception as e:CODE
MEDIUM.pre-commit-hooks/custom-checks.py571 print(f"Error parsing {filename}: {e}")CODE
LOW.pre-commit-hooks/check-weak-tests.py59 except Exception: # pragma: no cover - unparse is stable on 3.9+CODE
LOW…e-commit-hooks/check-settings-manager-thread-safety.py149 except Exception as e:CODE
MEDIUM…e-commit-hooks/check-settings-manager-thread-safety.py150 print(f"Error checking {filepath}: {e}", file=sys.stderr)CODE
LOW.pre-commit-hooks/check-sensitive-logging.py1521 except Exception as e:CODE
LOW.pre-commit-hooks/check-open-encoding.py140 except Exception:CODE
LOW.pre-commit-hooks/check-safe-requests.py99 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-safe-requests.py100 print(f"Error reading {filename}: {e}")CODE
LOW.pre-commit-hooks/check-safe-requests.py117 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-safe-requests.py118 print(f"Error parsing {filename}: {e}")CODE
LOW.pre-commit-hooks/check-service-context-managers.py408 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-service-context-managers.py409 print(f"Error reading {filename}: {e}")CODE
LOW.pre-commit-hooks/check-service-context-managers.py428 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-service-context-managers.py429 print(f"Error parsing {filename}: {e}")CODE
LOW.pre-commit-hooks/check-deprecated-settings-wrapper.py63 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-deprecated-settings-wrapper.py64 print(f"Error checking {filepath}: {e}", file=sys.stderr)CODE
LOW.pre-commit-hooks/check-session-context-manager.py130 except Exception as e:CODE
MEDIUM.pre-commit-hooks/check-session-context-manager.py131 print(f"Error checking {filepath}: {e}", file=sys.stderr)CODE
LOW.pre-commit-hooks/check-settings-key-namespace.py197 except Exception:CODE
LOW.pre-commit-hooks/check-settings-key-namespace.py216 except Exception:CODE
LOW.pre-commit-hooks/check-unmarked-sleep.py155 except Exception as exc:CODE
LOW.pre-commit-hooks/check-loguru-formatting.py119 except Exception as exc:CODE
LOW.pre-commit-hooks/check-golden-master-settings.py45 except Exception:CODE
LOW.pre-commit-hooks/check-silent-exceptions.py75 except Exception as exc:CODE
LOWtests/test_api_settings_validation.py133 except Exception as e:CODE
LOWtests/test_context_overflow_detection.py546 except Exception as e:CODE
LOWtests/conftest.py87 except Exception:CODE
1893 more matches not shown…
Self-Referential Comments336 hits · 1034 pts
SeverityFileLineSnippetContext
MEDIUM.pre-commit-hooks/check-service-context-managers.py195 # Create a fake function body from module-level statementsCOMMENT
MEDIUMtests/conftest.py381 # Create a test clientCOMMENT
MEDIUMtests/conftest.py643 # Create a mock moduleCOMMENT
MEDIUMtests/test_openai_api_key_usage.py110 # Create a mock LLM instanceCOMMENT
MEDIUMtests/test_reexport_modules.py80 # Create a fake config.config_files moduleCOMMENT
MEDIUMtests/test_report_generator.py306 # Define a structure with multiple sectionsCOMMENT
MEDIUMtests/test_report_generator.py354 # Define a structure with 5 sectionsCOMMENT
MEDIUMtests/test_settings_manager.py226 session = SessionLocal() # Create a new session instance for this testCODE
MEDIUMtests/test_settings_manager.py262 # Create a new session for this testCOMMENT
MEDIUMtests/test_search_engines_enhanced.py159 # Create a mock paper objectCOMMENT
MEDIUMtests/test_search_engines_enhanced.py274 # Create a minimal settings snapshot for the factoryCOMMENT
MEDIUMtests/test_api_key_configuration.py158 # Create a mock LLM instanceCOMMENT
MEDIUMtests/test_api_key_configuration.py181 # Create a mock LLM instanceCOMMENT
MEDIUMtests/test_api_key_configuration.py216 # Create a mock LLM instanceCOMMENT
MEDIUMtests/test_api_key_configuration.py239 # Create a mock LLM instance with invoke methodCOMMENT
MEDIUMtests/test_search_system.py41 # Create a mock strategy class and instanceCOMMENT
MEDIUMtests/test_search_system.py64 # Create the search system (will use default source-based strategy)COMMENT
MEDIUMtests/test_search_system.py67 # Create a mock progress callbackCOMMENT
MEDIUMtests/test_search_system.py196 # Create a mock callbackCOMMENT
MEDIUMtests/test_search_system.py216 # Create a mock strategy class and instanceCOMMENT
MEDIUMtests/test_search_system.py271 # Create the search system (uses source-based strategy by default)COMMENT
MEDIUMtests/metrics/test_query_utils.py15# Create a model for SQLAlchemy column testingCOMMENT
MEDIUMtests/settings/test_generate_config_docs.py294 # Create a minimal project structure with a bad JSON fileCOMMENT
MEDIUMtests/database/test_database_init.py223 # Create a research recordCOMMENT
MEDIUMtests/database/test_database_init.py268 # Create a benchmark run with resultsCOMMENT
MEDIUMtests/database/test_benchmark_models.py100 # Create a benchmark run firstCOMMENT
MEDIUMtests/database/test_benchmark_models.py210 # Create a benchmark runCOMMENT
MEDIUMtests/database/test_benchmark_models.py273 # Create a runCOMMENT
MEDIUMtests/database/test_benchmark_models.py399 # Create a completed runCOMMENT
MEDIUMtests/database/test_sqlcipher_integration.py1309 # Create main databaseCOMMENT
MEDIUMtests/database/test_sqlcipher_integration.py960 # Create a regular (unencrypted) SQLite databaseCOMMENT
MEDIUMtests/database/test_sqlcipher_integration.py2465 # Create main databaseCOMMENT
MEDIUMtests/database/test_sqlcipher_integration.py2827 # Create main databaseCOMMENT
MEDIUMtests/database/test_sqlcipher_integration.py3135 # Create main databaseCOMMENT
MEDIUMtests/database/test_sqlcipher_integration.py4224 # Create an encrypted database firstCOMMENT
MEDIUMtests/database/test_sqlcipher_integration.py4286 # Create an encrypted database with a tableCOMMENT
MEDIUMtests/database/test_orm_conversions.py80 # Create a research entry first with UUIDCOMMENT
MEDIUMtests/database/test_alembic_migrations.py525 # Create a corrupted alembic_version tableCOMMENT
MEDIUMtests/database/test_alembic_migrations.py3709 # Create an engine with invalid credentials in URLCOMMENT
MEDIUMtests/database/test_alembic_migrations.py4047 # Create a mock migrations directory structureCOMMENT
MEDIUMtests/database/test_alembic_migrations.py4052 # Create a world-writable migration fileCOMMENT
MEDIUMtests/database/test_alembic_migrations.py318 # Create a few more tables to simulate existing databaseCOMMENT
MEDIUMtests/database/test_alembic_migrations.py1141 # Create a conflicting table structureCOMMENT
MEDIUMtests/database/test_alembic_migrations.py2284 # Create a partial state - some tables but not allCOMMENT
MEDIUMtests/database/test_alembic_migrations.py2786 # Create a very long stringCOMMENT
MEDIUMtests/database/test_alembic_migrations.py3673 # Create a read-only directory scenarioCOMMENT
MEDIUMtests/database/test_alembic_migrations.py3844 # Create a scenario that will cause a migration errorCOMMENT
MEDIUMtests/database/test_alembic_migrations.py3990 # Create a mock symlinked path scenarioCOMMENT
MEDIUMtests/database/test_alembic_migrations.py4073 # Create a mock migrations directory with secure filesCOMMENT
MEDIUMtests/database/test_alembic_migrations.py4097 # Create a mock migrations directory (permissions don't matter)COMMENT
MEDIUMtests/database/test_alembic_migrations.py4464 # Create a fresh Alembic databaseSTRING
MEDIUMtests/database/test_alembic_migrations.py4469 # Create a pre-Alembic database and upgrade itSTRING
MEDIUMtests/database/test_auth_db.py90 # Create the fileCOMMENT
MEDIUMtests/database/test_auth_db.py153 # Create the file so init is skippedCOMMENT
MEDIUMtests/database/test_auth_db.py362 # Create an engineCOMMENT
MEDIUMtests/database/test_auth_db.py390 # Create an engineCOMMENT
MEDIUMtests/database/test_encrypted_db_manager.py106 # Create the database fileCOMMENT
MEDIUMtests/database/test_encrypted_db_manager.py919 # Create a plain SQLite database (no encryption needed for this test)COMMENT
MEDIUMtests/database/backup/test_backup_service.py2296 # Create a fake database fileCOMMENT
MEDIUMtests/database/backup/test_backup_service.py2304 # Create a backup directory with a double quote in the pathCOMMENT
276 more matches not shown…
Cross-File Repetition174 hits · 870 pts
SeverityFileLineSnippetContext
HIGHtests/test_report_generator_edge_cases.py0create a report generator with mocked dependencies.STRING
HIGHtests/report/test_report_structure_parsing.py0create a report generator with mocked dependencies.STRING
HIGHtests/report/test_report_section_generation.py0create a report generator with mocked dependencies.STRING
HIGHtests/vector_stores/test_no_plaintext_property.py0every on-disk file under ``root`` that contains ``needle`` (raw bytes).STRING
HIGH…sts/vector_stores/test_no_plaintext_production_path.py0every on-disk file under ``root`` that contains ``needle`` (raw bytes).STRING
HIGHtests/vector_stores/test_cross_tenant_isolation.py0every on-disk file under ``root`` that contains ``needle`` (raw bytes).STRING
HIGHtests/research_library/test_document_full_lifecycle.py0every on-disk file under ``root`` that contains ``needle`` (raw bytes).STRING
HIGHtests/metrics/test_token_counter_high_value.py0create a tokencountingcallback with sensible defaults.STRING
HIGHtests/metrics/test_token_counter_logic.py0create a tokencountingcallback with sensible defaults.STRING
HIGHtests/metrics/test_token_counter_coverage.py0create a tokencountingcallback with sensible defaults.STRING
HIGH…dvanced_search_system/strategies/test_base_strategy.py0concrete implementation for testing abstract class.STRING
HIGHtests/news/test_rating_system_behavior.py0concrete implementation for testing abstract class.STRING
HIGHtests/news/test_base_recommender_behavior.py0concrete implementation for testing abstract class.STRING
HIGHtests/citation_handlers/test_base_citation_handler.py0concrete implementation for testing abstract class.STRING
HIGHtests/news/test_preference_manager_behavior.py0concrete implementation for testing abstract class.STRING
HIGHtests/benchmarks/evaluators/test_base.py0concrete implementation for testing abstract class.STRING
HIGHtests/news/test_preference_manager_extended.py0concrete implementation for testing abstract class.STRING
HIGHtests/llm/test_openai_base.py0supply a provider_key on the abstract base for these direct tests. openaicompatibleprovider intentionally declares no ``STRING
HIGHtests/llm/providers/test_openai_base.py0supply a provider_key on the abstract base for these direct tests. openaicompatibleprovider intentionally declares no ``STRING
HIGHtests/llm_providers/test_openai_base.py0supply a provider_key on the abstract base for these direct tests. openaicompatibleprovider intentionally declares no ``STRING
HIGHtests/llm/providers/test_openai_base_deep_coverage.py0supply a provider_key on the abstract base for these direct tests. openaicompatibleprovider intentionally declares no ``STRING
HIGHtests/llm/providers/test_openai_base.py0raises valueerror when no model name is provided (no silent default).STRING
HIGHtests/llm/providers/test_openai_base_deep_coverage.py0raises valueerror when no model name is provided (no silent default).STRING
HIGHtests/llm_providers/test_openai_base.py0raises valueerror when no model name is provided (no silent default).STRING
HIGH…_providers/implementations/test_orcarouter_provider.py0raises valueerror when no model name is provided (no silent default).STRING
HIGH…sts/llm_providers/implementations/test_xai_provider.py0raises valueerror when no model name is provided (no silent default).STRING
HIGH…/llm_providers/implementations/test_openai_provider.py0raises valueerror when no model name is provided (no silent default).STRING
HIGH…lm_providers/implementations/test_requesty_provider.py0raises valueerror when no model name is provided (no silent default).STRING
HIGH…m_providers/implementations/test_anthropic_provider.py0raises valueerror when no model name is provided (no silent default).STRING
HIGH…/llm_providers/implementations/test_google_provider.py0raises valueerror when no model name is provided (no silent default).STRING
HIGH…s/llm_providers/implementations/test_ionos_provider.py0raises valueerror when no model name is provided (no silent default).STRING
HIGH…_providers/implementations/test_openrouter_provider.py0raises valueerror when no model name is provided (no silent default).STRING
HIGHtests/security/test_login_cached_connection_password.py0a databasemanager writing to an isolated data directory.STRING
HIGH…s/security/test_change_password_evicts_stale_engine.py0a databasemanager writing to an isolated data directory.STRING
HIGH…ecurity/test_login_cached_connection_password_extra.py0a databasemanager writing to an isolated data directory.STRING
HIGH…ity/test_login_cached_connection_password_lifecycle.py0a databasemanager writing to an isolated data directory.STRING
HIGH…h_library/routes/test_library_routes_extra_coverage.py0return a magicmock that satisfies the login_required db_manager check.STRING
HIGHtests/web/routes/test_settings_routes_deep_coverage2.py0return a magicmock that satisfies the login_required db_manager check.STRING
HIGHtests/web/routes/test_api_routes_coverage.py0return a magicmock that satisfies the login_required db_manager check.STRING
HIGHtests/followup_research/test_routes_coverage.py0return a magicmock that satisfies the login_required db_manager check.STRING
HIGHtests/web/routes/test_history_routes_extended.py0return a magicmock that satisfies the login_required db_manager check.STRING
HIGH…h_library/routes/test_library_routes_extra_coverage.py0build a mock context-manager for get_user_db_session.STRING
HIGHtests/web/routes/test_history_routes_extended.py0build a mock context-manager for get_user_db_session.STRING
HIGHtests/web/routes/test_settings_routes_deep_coverage2.py0build a mock context-manager for get_user_db_session.STRING
HIGHtests/web/routes/test_api_routes_coverage.py0build a mock context-manager for get_user_db_session.STRING
HIGHtests/followup_research/test_routes_coverage.py0build a mock context-manager for get_user_db_session.STRING
HIGH…h_library/routes/test_library_routes_extra_coverage.py0issue an authenticated post request and return the response.STRING
HIGHtests/web/routes/test_api_routes_coverage.py0issue an authenticated post request and return the response.STRING
HIGHtests/followup_research/test_routes_coverage.py0issue an authenticated post request and return the response.STRING
HIGH…ary/services/test_library_service_collections_stats.py0patch get_user_db_session as a proper context manager.STRING
HIGH…arch_library/services/test_library_service_coverage.py0patch get_user_db_session as a proper context manager.STRING
HIGH…rch_library/services/test_library_service_crud_deep.py0patch get_user_db_session as a proper context manager.STRING
HIGHtests/exporters/test_latex_exporter.py0test handling of markdown with tables, code, lists.STRING
HIGHtests/exporters/test_pdf_exporter.py0test handling of markdown with tables, code, lists.STRING
HIGHtests/exporters/test_quarto_exporter.py0test handling of markdown with tables, code, lists.STRING
HIGHtests/web_services/test_pdf_service.py0test handling of markdown with tables, code, lists.STRING
HIGHtests/exporters/test_latex_exporter.py0test that valueerror is raised for content exceeding size limit.STRING
HIGHtests/exporters/test_pdf_exporter.py0test that valueerror is raised for content exceeding size limit.STRING
HIGHtests/exporters/test_odt_exporter.py0test that valueerror is raised for content exceeding size limit.STRING
HIGHtests/exporters/test_ris_exporter.py0test that valueerror is raised for content exceeding size limit.STRING
114 more matches not shown…
Modern AI Meta-Vocabulary220 hits · 668 pts
SeverityFileLineSnippetContext
MEDIUM.gitleaks.toml162 # RAG routes and services use db_password variable names (not actual secrets)COMMENT
MEDIUM.gitleaks.toml165 # RAG service factory passes db_password variable names (not actual secrets)COMMENT
MEDIUM.gitleaks.toml168 # the RAG factory (not actual secrets)COMMENT
MEDIUMdocker-compose.yml235 # digest are the meaningful guardrails. See #3874.COMMENT
MEDIUM.pre-commit-hooks/check-service-context-managers.py373 # Variable is passed to another function (dependency injection) - receiver responsibleCOMMENT
MEDIUMtests/test_context_overflow_detection.py520 # Create LLM with small context windowCOMMENT
MEDIUMtests/vector_stores/test_legacy_cleanup_no_plaintext.py135 # Symlink it under the RAG cache root — os.walk will skip it silently.COMMENT
MEDIUMtests/vector_stores/test_legacy_cleanup_no_plaintext.py161 # A symlink to it under the RAG cache root.COMMENT
MEDIUMtests/vector_stores/test_legacy_cleanup_no_plaintext.py197 # EVERY file under the RAG cache — nothing plaintext left on disk.COMMENT
MEDIUM…sts/vector_stores/test_no_plaintext_production_path.py306 # Real service, only the embedding model faked (no network/model load).COMMENT
MEDIUMtests/vector_stores/test_faiss_store.py359 # (embedding model/config changed) must fail closed on apply()'sCOMMENT
MEDIUMtests/vector_stores/test_facade.py318# index_prepared() — bulk path used by parallel RAG indexing (PR #5235)COMMENT
MEDIUMtests/vector_stores/test_legacy_rekey_orchestrator.py210 # test needs -- point the RAG cache root at tmp_path so it runsCOMMENT
MEDIUMtests/database/test_alembic_migrations.py6081 # 0018: restoring 'mcp'/'agentic' strategy references would recreateCOMMENT
MEDIUM…/advanced_search_system/tools/test_library_resolver.py44 """Regression for #5381: RAG citations are emitted asSTRING
MEDIUMtests/advanced_search_system/tools/test_fetch_modes.py383# The library RAG engine and the collection engine emitCOMMENT
MEDIUMtests/embeddings/test_openai_embeddings.py890 """The headline regression for #4195: a Nomic embedding modelSTRING
MEDIUMtests/deletion/test_cascade_integration.py315 # Add RAG indexCOMMENT
MEDIUMtests/deletion/test_cascade_integration.py409 # Step 2: Delete RAG indexCOMMENT
MEDIUMtests/deletion/test_collection_deletion.py250 # Verify RAG index existsCOMMENT
MEDIUMtests/deletion/test_collection_deletion.py258 # Manually delete RAG index (should be done by service)COMMENT
MEDIUMtests/deletion/test_collection_deletion.py266 # Verify RAG index is deletedCOMMENT
MEDIUMtests/deletion/test_collection_deletion.py290 # Delete RAG indexCOMMENT
MEDIUMtests/security/test_egress_run_classification.py294 # A RAG run over a collection embeds, so a cloud embedder is an exposingCOMMENT
MEDIUMtests/security/test_egress_run_classification.py295 # sink for the sensitive source -> refused even with a local LLM. The RAGCOMMENT
MEDIUMtests/security/test_egress_pep_coverage.py290 # `both` is retired (ADR-0007): it coerces to ADAPTIVE, and the RAG gateCOMMENT
MEDIUMtests/security/test_password_redaction_invariant.py73 # Phase-2 RAG re-key: rekey_user_indexes(username, db_password) holds theCOMMENT
MEDIUMtests/js/pages/note-detail.test.js43 // renderWikiLinkPlaceholder early-return — no DOM scaffold needed.COMMENT
MEDIUMtests/js/pages/note-detail-ai-handlers.test.js157// The remaining list-style handlers share the same scaffold; lock each one'sCOMMENT
MEDIUMtests/research_library/test_document_full_lifecycle.py335 # Phase 3: delete the document from RAG. Search must returnCOMMENT
MEDIUMtests/research_library/test_document_full_lifecycle.py371 # The Document row itself must still exist (this is a RAG-removal,COMMENT
MEDIUMtests/research_library/zotero/test_sync_service.py637 ) # spy: collection isn't RAG-indexed, so only assert callsCODE
MEDIUM…ts/research_library/routes/test_rag_routes_coverage.py325 # No more "try a dedicated embedding model" guessing.COMMENT
MEDIUM…ts/research_library/routes/test_rag_routes_coverage.py1191 q.first.return_value = None # No RAG indexCODE
MEDIUM…ts/research_library/routes/test_rag_routes_coverage.py1291 q.first.return_value = None # No RAG indexCODE
MEDIUM…ts/research_library/routes/test_rag_routes_coverage.py1351 q.first.return_value = None # No RAG indexCODE
MEDIUM…search_library/routes/test_rag_routes_deep_coverage.py1141 q.first.return_value = None # No RAG indexCODE
MEDIUM…arch_library/services/test_library_rag_service_info.py47 # Collection found, but no RAG indexCOMMENT
MEDIUM…arch_library/services/test_library_rag_service_info.py75 # RAG index foundCOMMENT
MEDIUM…arch_library/services/test_library_rag_service_info.py119 # No RAG indexCOMMENT
MEDIUM…rch_library/services/test_download_service_3827_fix.py949 # (RAG, last_run commit) sees a clean session.COMMENT
MEDIUM…rch_library/services/test_download_service_3827_fix.py957# Change 3 (continued): RAG indexing of research downloads has been RETIRED fromCOMMENT
MEDIUM…rch_library/services/test_download_service_3827_fix.py960# assert the inline RAG block is gone: generate_rag no longer drives any RAGCOMMENT
MEDIUMtests/web/test_startup_import_weight.py96# scheduler -> RAG service -> splitter chain, so a regression inSTRING
MEDIUMtests/web/routes/test_unified_search_routes.py369 # and the current RAG index names (.filter().all()).COMMENT
MEDIUMtests/web/routes/test_metrics_routes_coverage.py220 # 5 strategies after the 'mcp'/'agentic' strategy was removed (#4548):COMMENT
MEDIUMtests/web/routes/test_research_routes_policy.py501 # Strategy aliases ("langgraph_agent", "mcp", "agentic") must alsoCOMMENT
MEDIUMtests/web/services/test_research_service_core.py387 # Use 80% of context windowCOMMENT
MEDIUMtests/text_optimization/test_citation_formatter.py1891# /library/document/<uuid> from RAG / library sources). The threeCOMMENT
MEDIUMtests/feature_tests/IMPLEMENTATION_GUIDE_241.md46# Get context window size from settingsCOMMENT
MEDIUMtests/feature_tests/IMPLEMENTATION_GUIDE_241.md49# Ensure max_tokens doesn't exceed context window sizeCOMMENT
MEDIUMtests/feature_tests/IMPLEMENTATION_GUIDE_241.md51 # Use 80% of context window to leave room for promptsCOMMENT
MEDIUMtests/feature_tests/IMPLEMENTATION_GUIDE_241.md70 n_ctx=context_window_size, # Set context window sizeCODE
MEDIUMtests/ui_tests/run_legacy_pkl_migration.sh2# One-command LOCAL runner for the legacy plaintext-.pkl RAG migration E2E test.COMMENT
MEDIUMtests/ui_tests/test_rag_index_search_ci.js168 await page.type("#collection-name", `RAG E2E ${Date.now()}`);CODE
MEDIUMtests/ui_tests/test_context_overflow_ci.js19 // The page-specific scaffold is server-rendered (pages/context_overflow.html):COMMENT
MEDIUMtests/ui_tests/test_context_overflow_ci.js185 // assert on the overflow-specific chart scaffold: the #context-overflow-sectionCOMMENT
MEDIUMtests/ui_tests/test_context_overflow_ci.js219 // wrong page or the overflow scaffold did not load.COMMENT
MEDIUMtests/ui_tests/test_context_overflow_ci.js223 ? 'No token data: #context-overflow-section scaffold present and #empty-no-data shown (no #context-chartCODE
MEDIUM…playwright/tests/notes/notes-modal-close-paths.spec.js11 * /notes/<id> #indexModal — index for RAGCOMMENT
160 more matches not shown…
Deep Nesting768 hits · 569 pts
SeverityFileLineSnippetContext
LOW.pre-commit-hooks/check-css-class-prefix.py136CODE
LOW.pre-commit-hooks/check-css-class-prefix.py183CODE
LOW.pre-commit-hooks/check-css-class-prefix.py337CODE
LOW.pre-commit-hooks/check-css-class-prefix.py456CODE
LOW.pre-commit-hooks/check-absolute-module-paths.py140CODE
LOW.pre-commit-hooks/check-absolute-module-paths.py187CODE
LOW.pre-commit-hooks/check-absolute-module-paths.py154CODE
LOW.pre-commit-hooks/check-env-vars.py109CODE
LOW.pre-commit-hooks/check-env-vars.py188CODE
LOW.pre-commit-hooks/check-env-vars.py230CODE
LOW.pre-commit-hooks/check-double-escaping.py30CODE
LOW.pre-commit-hooks/fix-exception-logging.py200CODE
LOW.pre-commit-hooks/check-layer-imports.py53CODE
LOW.pre-commit-hooks/check-silent-cleanup.py70CODE
LOW.pre-commit-hooks/custom-checks.py477CODE
LOW.pre-commit-hooks/custom-checks.py68CODE
LOW.pre-commit-hooks/custom-checks.py207CODE
LOW.pre-commit-hooks/custom-checks.py307CODE
LOW.pre-commit-hooks/check-external-resources.py57CODE
LOW.pre-commit-hooks/check-bearer-disable.py82CODE
LOW.pre-commit-hooks/check-bearer-disable.py126CODE
LOW…e-commit-hooks/check-settings-manager-thread-safety.py55CODE
LOW.pre-commit-hooks/check-sensitive-logging.py261CODE
LOW.pre-commit-hooks/check-sensitive-logging.py320CODE
LOW.pre-commit-hooks/check-sensitive-logging.py369CODE
LOW.pre-commit-hooks/check-sensitive-logging.py527CODE
LOW.pre-commit-hooks/check-sensitive-logging.py678CODE
LOW.pre-commit-hooks/check-sensitive-logging.py746CODE
LOW.pre-commit-hooks/check-sensitive-logging.py925CODE
LOW.pre-commit-hooks/check-sensitive-logging.py1024CODE
LOW.pre-commit-hooks/check-sensitive-logging.py1077CODE
LOW.pre-commit-hooks/check-sensitive-logging.py1365CODE
LOW.pre-commit-hooks/check-service-context-managers.py117CODE
LOW.pre-commit-hooks/check-service-context-managers.py229CODE
LOW.pre-commit-hooks/check-session-context-manager.py34CODE
LOW.pre-commit-hooks/check-session-context-manager.py93CODE
LOW.pre-commit-hooks/check-settings-key-namespace.py51CODE
LOW.pre-commit-hooks/_commit_analysis.py204CODE
LOWtests/test_openai_api_key_e2e.py44CODE
LOWtests/test_llm_provider_integration.py206CODE
LOWtests/test_llm_provider_integration.py342CODE
LOWtests/run_all_tests.py530CODE
LOWtests/run_all_tests.py77CODE
LOWtests/run_all_tests.py250CODE
LOWtests/metrics/test_token_counter_coverage.py205CODE
LOWtests/settings/test_settings_defaults_integrity.py328CODE
LOWtests/database/test_sqlcipher_integration.py564CODE
LOWtests/database/test_sqlcipher_integration.py3632CODE
LOWtests/database/test_sqlcipher_integration.py3719CODE
LOWtests/database/test_sqlcipher_integration.py4040CODE
LOWtests/database/test_sqlcipher_integration.py4683CODE
LOWtests/database/test_sqlcipher_integration.py4717CODE
LOWtests/database/test_db_file_permissions.py70CODE
LOWtests/database/test_alembic_migrations.py4194CODE
LOWtests/database/test_alembic_migrations.py6527CODE
LOWtests/database/test_auth_db.py147CODE
LOWtests/database/test_auth_db.py180CODE
LOWtests/database/test_auth_db.py220CODE
LOWtests/database/test_encryption_threads.py112CODE
LOWtests/database/test_encryption_threads.py155CODE
708 more matches not shown…
Redundant / Tautological Comments340 hits · 515 pts
SeverityFileLineSnippetContext
LOW.pre-commit-hooks/check-env-vars.py240 # Check if the left side is a system varCOMMENT
LOW.pre-commit-hooks/check-image-pinning.sh61 # Check if any image lines lack @sha256COMMENT
LOW.pre-commit-hooks/check-url-security.py29 # Check if the file imports or includes URL validationCOMMENT
LOW.pre-commit-hooks/check-url-security.py82 # Check if it's preceded by validationCOMMENT
LOW.pre-commit-hooks/fix-exception-logging.py210 # Check if the variable is still used anywhere in nearby linesCOMMENT
LOW.pre-commit-hooks/check-silent-cleanup.py48 # Check if the handler is "except Exception:" or bare "except:"COMMENT
LOW.pre-commit-hooks/check-silent-cleanup.py55 # Check if handler body is *only* `pass` (no logging, no raise)COMMENT
LOW.pre-commit-hooks/custom-checks.py308 # Check if this class inherits from Base (SQLAlchemy model)COMMENT
LOW.pre-commit-hooks/custom-checks.py445 # Check if line has allowed patterns firstCOMMENT
LOW.pre-commit-hooks/custom-checks.py503 # Check if this file is allowed to use datetime.now()COMMENT
LOW.pre-commit-hooks/custom-checks.py522 # Check if it's already using UTCCOMMENT
LOW.pre-commit-hooks/check-external-resources.py73 # Check if line contains external patternsCOMMENT
LOW.pre-commit-hooks/check-external-resources.py76 # Check if it's an allowed exceptionCOMMENT
LOW.pre-commit-hooks/check-pdm-lock.sh2# Check if pdm.lock is in sync with pyproject.tomlCOMMENT
LOW.pre-commit-hooks/check-sensitive-logging.py1160 # Check if it's a logger callCOMMENT
LOW.pre-commit-hooks/check-service-context-managers.py89 # Check if it's a service classCOMMENT
LOW.pre-commit-hooks/check-service-context-managers.py93 # Check if it's a function returning a resourceCOMMENT
LOW.pre-commit-hooks/check-service-context-managers.py359 # Check if this is a safe instantiationCOMMENT
LOW.pre-commit-hooks/check-session-context-manager.py38 # Check if this is a session assignmentCOMMENT
LOW.pre-commit-hooks/check-session-context-manager.py50 # Check if finally has session.close()COMMENT
LOW.pre-commit-hooks/check-session-context-manager.py104 # Check if it's our session variableCOMMENT
LOW.pre-commit-hooks/check-unmarked-sleep.py89 # Check if enclosing function or class has @pytest.mark.slowCOMMENT
LOW.pre-commit-hooks/check-golden-master-settings.py34 # Check if regeneration changed the fileCOMMENT
LOWtests/test_context_overflow_detection.py538 # Check if overflow was detectedCOMMENT
LOWtests/run_followup_tests.sh13# Check if server is runningCOMMENT
LOWtests/test_openai_api_key_e2e.py84 # Check if API key exists in settings or environmentCOMMENT
LOWtests/test_database_initialization.py130 # Check if settings table is queryableCOMMENT
LOWtests/test_citation_handler.py61 # Check if the correct number of documents was createdCOMMENT
LOWtests/test_citation_handler.py86 # Check if indexes were correctly offsetCOMMENT
LOWtests/test_citation_handler.py106 # Check if sources are correctly formatted with citation numbersCOMMENT
LOWtests/test_citation_handler.py119 # Check if LLM was called with the correct promptCOMMENT
LOWtests/test_citation_handler.py123 # Check if prompt contains expected elementsCOMMENT
LOWtests/run_all_tests.py444 # Check if we're in a headless environment (CI)COMMENT
LOWtests/test_search_system.py117 # Check if the correct strategy type was createdCOMMENT
LOWtests/metrics/test_research_metrics_extended.py378 # Check if current is better than baselineCOMMENT
LOWtests/metrics/test_token_counter_extended.py151 # Set usage_metadata to None to force response_metadata pathCOMMENT
LOWtests/settings/env_vars/test_env_var_usage.py155 # Check if file is allowed to use os.environCOMMENT
LOWtests/database/test_sqlcipher_integration.py805 # Check if it changed (it shouldn't for an already-initialized DB)COMMENT
LOWtests/database/test_sqlcipher_integration.py2304 # Check if encryption is actually appliedCOMMENT
LOWtests/database/test_sqlcipher_integration.py4183 # Check if salt was actually appliedCOMMENT
LOWtests/database/test_alembic_migrations.py2459 # Check if 'key' has unique constraintCOMMENT
LOWtests/database/test_no_raw_sql.py68 # Check if it's in a comment or docstringCOMMENT
LOWtests/database/test_no_raw_sql.py77 # Check if it's an allowed patternCOMMENT
LOWtests/database/test_no_raw_sql.py144 # Check if file has database operationsCOMMENT
LOWtests/database/test_no_raw_sql.py155 # Check if it has ORM importsCOMMENT
LOWtests/database/test_schema_stability.py150 # Check if there are new tables that might be renamesCOMMENT
LOWtests/deletion/test_document_deletion.py209 # Check if document is in any collectionCOMMENT
LOWtests/test_llm/test_llm_benchmarks.py24 # Check if we have a predefined answerCOMMENT
LOW…i_tests_with_login/pytest_tests/test_start_research.py70 # Check if model appears in logsCOMMENT
LOWtests/infrastructure_tests/test_urls_js.py122 # Check if the URL exists in backend (with some flexibility for parameter names)COMMENT
LOWtests/infrastructure_tests/test_urls_js.py347 # Check if this is an allowed duplicateCOMMENT
LOWtests/accessibility_tests/test_accessibility_backend.py87 # Check if there are any fieldsetsCOMMENT
LOWtests/security/test_xss_prevention.py280 # Check if CSP header is present (it's a good security practice)COMMENT
LOWtests/security/test_repo_guardrails.py162 # Check if this pattern matches a binary extensionCOMMENT
LOWtests/security/test_csrf_protection.py116 # Check if it's a CSRF error specificallyCOMMENT
LOWtests/exporters/test_odt_exporter.py6# Check if pandoc is available (required by pypandoc)COMMENT
LOWtests/web/auth/test_auth_coverage.py622 # Set last_access to 2 hours ago (would expire normal session)COMMENT
LOWtests/web/services/test_research_service.py836 # Check if pandoc is availableCOMMENT
LOWtests/web/services/test_research_service_core.py79 # Check if research is terminatedCOMMENT
LOWtests/strategies/test_strategy_imports.py64 # Check if at least some strategies are exportedCOMMENT
280 more matches not shown…
Docstring Block Structure100 hits · 500 pts
SeverityFileLineSnippetContext
HIGHtests/mock_modules.py16 Create a mock module with specified attributes. Args: module_name: Name of the module to create STRING
HIGHexamples/optimization/run_gemini_benchmark.py87 Run benchmarks with Gemini Flash via OpenRouter. Args: examples: Number of examples to evaluate for eaSTRING
HIGHexamples/benchmarks/run_browsecomp.py62 Run BrowseComp benchmark with proper decryption using canary field. Args: num_examples: Number of examSTRING
HIGHsrc/local_deep_research/database/sqlcipher_utils.py78 Create and store a new random salt for a database. This should be called when creating a new database. TheSTRING
HIGHsrc/local_deep_research/database/sqlcipher_utils.py603 Create a properly configured SQLCipher connection. Implements the full PRAGMA sequence with proper error cleanSTRING
HIGHsrc/local_deep_research/database/session_context.py140 Context manager that ensures proper database session with encryption. Now uses thread-local sessions for betterSTRING
HIGHsrc/local_deep_research/database/library_init.py300 Get the ID of a source type by name. Args: username: User to query for type_name: Name of sourSTRING
HIGHsrc/local_deep_research/database/encrypted_db.py469Create a properly initialized SQLCipher connection. Follows the canonical SQLCipher initialization order: set kSTRING
HIGH…ced_search_system/filters/journal_reputation_filter.py715Analyze journal reputation via 1 SearXNG search + 1 LLM call. This is Tier 4 — the last-resort scoring path. OnSTRING
HIGH…ced_search_system/filters/followup_relevance_filter.py26 Filter search results by relevance to the follow-up query. Args: results: List of source dSTRING
HIGHsrc/local_deep_research/llm/providers/openai_base.py40Factory function for OpenAI-compatible LLMs. Args: model_name: Name of the model to use STRING
HIGHsrc/local_deep_research/llm/providers/base.py82Create and return a LangChain chat model instance. Subclasses MUST override this method. The returned LLM is BASTRING
HIGH…_deep_research/llm/providers/implementations/openai.py36Factory function for OpenAI LLMs. Args: model_name: Name of the model to use temperaturSTRING
HIGH…ep_research/llm/providers/implementations/anthropic.py37Factory function for Anthropic LLMs. Args: model_name: Name of the model to use temperaSTRING
HIGH…_deep_research/llm/providers/implementations/ollama.py105Factory function for Ollama LLMs. Args: model_name: Name of the model to use temperaturSTRING
HIGHsrc/local_deep_research/embeddings/embeddings_config.py132 Get embeddings instance based on provider and model. Args: provider: Embedding provider to use (if NonSTRING
HIGHsrc/local_deep_research/embeddings/providers/base.py41 Create an embeddings instance for this provider. Args: model: Name of the embedding model STRING
HIGH…esearch/embeddings/providers/implementations/openai.py52 Create OpenAI embeddings instance. Args: model: Model name (defaults to text-embedding-3-sSTRING
HIGH…esearch/embeddings/splitters/text_splitter_registry.py62 Get text splitter based on type. Args: splitter_type: Type of splitter ('recursive', 'token', 'sentencSTRING
HIGHsrc/local_deep_research/chat/service.py249 Add a durable message (query/followup/response) to a chat session. Content is required and stored inliSTRING
HIGHsrc/local_deep_research/chat/service.py448 Get a chat session by ID. Args: session_id: ID of the session Returns: STRING
HIGHsrc/local_deep_research/chat/service.py813 Archive a chat session. Refuses to archive while a research is still in_progress for the sessiSTRING
HIGHsrc/local_deep_research/chat/service.py922Permanently delete one chat attempt (research + its messages + steps). An "attempt" is the user message that trSTRING
HIGHsrc/local_deep_research/chat/service.py1128Return the original user message content for a chat research. Used by the retry route to re-submit the same queSTRING
HIGHsrc/local_deep_research/config/paths.py136Get the database filename for a specific user. Args: username: The username to generate a filename for STRING
HIGHsrc/local_deep_research/config/thread_settings.py77Get setting from context only - no database access from threads. Args: key: Setting key to retrieve STRING
HIGHsrc/local_deep_research/security/safe_requests.py150 Make a safe HTTP GET request with SSRF protection. Args: url: URL to request params: URL paramSTRING
HIGHsrc/local_deep_research/security/safe_requests.py298 Make a safe HTTP POST request with SSRF protection. Args: url: URL to request data: Data to seSTRING
HIGHsrc/local_deep_research/security/safe_requests.py622`safe_get` plus exponential-backoff retry on transient errors. Retries on: * ``requests.ConnectionError`` STRING
HIGH…local_deep_research/security/notification_validator.py1071 Strict validation that raises an exception on invalid URLs. Args: url: Service URL to valiSTRING
HIGHsrc/local_deep_research/security/directory_creation.py38Create a directory through the audited security chokepoint. Rejects null bytes and raw ``..`` traversal, resolves tSTRING
HIGHsrc/local_deep_research/security/url_builder.py44 Build a base URL from application settings with intelligent fallbacks. This function handles the common patterSTRING
HIGHsrc/local_deep_research/security/url_builder.py98 Build a complete URL from base URL and path. Args: base_url: Base URL (e.g., "https://myapp.com") STRING
HIGHsrc/local_deep_research/security/url_builder.py136 Validate a constructed URL. Args: url: URL to validate allowed_schemes: List of allowed schemeSTRING
HIGHsrc/local_deep_research/security/path_validator.py94 Validate and sanitize a user-provided path. Args: user_input: The user-provided path strinSTRING
HIGHsrc/local_deep_research/security/path_validator.py176 Validate a user-provided absolute filesystem path for local indexing. This is for features like local STRING
HIGHsrc/local_deep_research/security/path_validator.py299 Re-sanitize a validated path for static analyzer recognition. This method takes an already-validated PSTRING
HIGHsrc/local_deep_research/security/path_validator.py340 Validate a model file path specifically. Args: model_path: Path to the model file STRING
HIGHsrc/local_deep_research/security/path_validator.py391 Validate a path within the data directory. Args: file_path: Path relative to data root STRING
HIGHsrc/local_deep_research/security/path_validator.py420 Validate a configuration file path. Args: config_path: Path to config file conSTRING
HIGHsrc/local_deep_research/security/module_whitelist.py181 Safely import a class from a module, validating against both whitelists. This function provides secure dynamicSTRING
HIGHsrc/local_deep_research/security/filename_sanitizer.py28Sanitize an uploaded filename for safe filesystem storage. Args: filename: Raw filename from the upload. STRING
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_safeSTRING
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], 0STRING
HIGH…_research/security/file_integrity/integrity_manager.py190 Create or update integrity record for a file. Args: file_path: Path to file to record STRING
HIGH…deep_research/security/file_integrity/base_verifier.py67 Calculate SHA256 checksum of file. Can be overridden by subclasses for different algorithms. STRING
HIGH…local_deep_research/research_library/utils/__init__.py453 Get absolute path using settings manager for library root. Uses PathValidator to prevent path traversal attackSTRING
HIGH…eep_research/research_library/routes/library_routes.py77 Get authenticated user password from session store with fallback to g.user_password. Args: username: TSTRING
HIGH…research/research_library/services/download_service.py468 Queue all downloadable PDFs from a research session. Args: research_id: The research sessiSTRING
HIGHsrc/local_deep_research/exporters/odt_exporter.py61Convert markdown content to ODT using Pandoc. The conversion runs entirely in memory: markdown is piped to STRING
HIGHsrc/local_deep_research/exporters/quarto_exporter.py57Convert markdown content to Quarto format. Args: markdown_content: The markdown text to convert STRING
HIGHsrc/local_deep_research/exporters/ris_exporter.py50Extract references from markdown and convert to RIS format. Args: markdown_content: The markdown teSTRING
HIGHsrc/local_deep_research/exporters/latex_exporter.py49Convert markdown content to LaTeX. Args: markdown_content: The markdown text to convert STRING
HIGHsrc/local_deep_research/exporters/pdf_exporter.py53Convert markdown content to PDF using existing PDFService. Args: markdown_content: The markdown texSTRING
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 STRING
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 RetSTRING
HIGHsrc/local_deep_research/storage/factory.py20Get a report storage instance that always uses database with optional file backup. Args: session: Database STRING
HIGHsrc/local_deep_research/utilities/type_utils.py13 Convert a value to boolean, handling string representations. This is a standalone utility for converting any vSTRING
HIGHsrc/local_deep_research/utilities/url_utils.py51 Normalize a URL to ensure it has a proper scheme and format. Args: raw_url: The raw URL string to normSTRING
HIGHsrc/local_deep_research/news/core/card_factory.py60Get or create the storage instance. Args: session: SQLAlchemy session. If not provided, attempts toSTRING
40 more matches not shown…
Unused Imports558 hits · 500 pts
SeverityFileLineSnippetContext
LOW.pre-commit-hooks/check-target-blank-rel.py19CODE
LOW.pre-commit-hooks/check-bearer-disable.py30CODE
LOW.pre-commit-hooks/check-journal-quality-readonly.py15CODE
LOW.pre-commit-hooks/check-author-identity.py26CODE
LOWtests/database/test_schema_index_completeness.py13CODE
LOWtests/database/test_journal_migrations_encrypted.py14CODE
LOWtests/database/test_research_strategy_fk_regression.py14CODE
LOWtests/database/test_fk_targets_resolve.py9CODE
LOW…sts/database/test_journal_rebuild_data_preservation.py20CODE
LOWtests/advanced_search_system/filters/conftest.py12CODE
LOW…/advanced_search_system/tools/test_library_resolver.py12CODE
LOWtests/advanced_search_system/tools/test_fetch_modes.py8CODE
LOWtests/connected/conftest.py1CODE
LOWtests/connected/test_queue_submission_persistence.py1CODE
LOWtests/connected/test_queue_atomic_claim.py1CODE
LOWtests/connected/test_research_submission_policy.py1CODE
LOWtests/connected/test_auth_database_lifecycle.py1CODE
LOWtests/connected/test_library_document_conversion.py1CODE
LOWtests/connected/test_queue_claim_reclaim.py1CODE
LOWtests/connected/queue_test_support.py1CODE
LOWtests/content_fetcher/test_lazy_content_fetcher.py16CODE
LOWtests/security/test_collection_agent_enabled.py14CODE
LOWtests/security/test_egress_threadpool_propagation.py27CODE
LOWtests/security/test_egress_guidance.py4CODE
LOW…ts/security/test_egress_pep_llm_embeddings_callsite.py26CODE
LOWtests/security/test_egress_policy.py3CODE
LOWtests/security/test_egress_pep_factory_callsite.py19CODE
LOWtests/security/test_egress_notifications_callsite.py20CODE
LOWtests/security/test_egress_langgraph_tool_filter.py33CODE
LOWtests/security/test_egress_e2e_private_only_tripwire.py27CODE
LOWtests/security/test_egress_inference_gates_followup.py20CODE
LOWtests/security/test_egress_run_classification.py8CODE
LOWtests/security/test_egress_audit_hook.py20CODE
LOW…ts/security/test_egress_pep_fetch_download_callsite.py24CODE
LOWtests/security/test_egress_fullsearch.py15CODE
LOWtests/security/test_egress_url_edgecases_followup.py28CODE
LOWtests/security/test_egress_backstop_rearm_followup.py22CODE
LOW…s/security/test_egress_adaptive_resolution_followup.py21CODE
LOW…/security/test_egress_collection_semantics_followup.py18CODE
LOW…/security/test_egress_downloader_threading_followup.py26CODE
LOW…sts/security/test_egress_news_subscription_callsite.py24CODE
LOWtests/security/test_noncollection_agent_enabled.py26CODE
LOWtests/security/test_egress_classification.py7CODE
LOWtests/security/test_egress_unprotected.py8CODE
LOW…library/downloaders/test_playwright_html_ssrf_guard.py29CODE
LOWtests/web/test_research_sources_url_selection.py13CODE
LOWtests/web/test_save_research_sources_hostile_values.py14CODE
LOWtests/integration/test_journal_quality_release_gate.py49CODE
LOWtests/journal_quality/test_lookup_institution_keys.py8CODE
LOWtests/journal_quality/test_openalex_common.py9CODE
LOWtests/journal_quality/test_openalex_schema_drift.py11CODE
LOW…s/journal_quality/test_institutions_malformed_lines.py11CODE
LOWtests/journal_quality/test_predatory_min_floor.py10CODE
LOWtests/text_optimization/test_bibliography_escaping.py10CODE
LOW…t_optimization/test_citation_formatter_bibliography.py9CODE
LOWtests/mcp/test_validation.py11CODE
LOWtests/mcp/test_server_validators.py9CODE
LOWtests/mcp/test_egress_audit_net.py20CODE
LOWtests/mcp/test_policy_denied.py36CODE
LOWtests/mcp/test_server.py14CODE
498 more matches not shown…
Over-Commented Block521 hits · 420 pts
SeverityFileLineSnippetContext
LOWdocker-compose.gpu.override.yml1# ============================================================================COMMENT
LOWdocker-compose.unraid.yml1# ============================================================================COMMENT
LOW.pre-commit-config.yaml481#COMMENT
LOW.hadolint.yaml1# Hadolint configuration fileCOMMENT
LOW.hadolint.yaml21 # caching. npm ci, npm run build, and pdm install have different changeCOMMENT
LOW.file-whitelist.txt1# ============================================================================COMMENT
LOWpyproject.toml421]COMMENT
LOWpyproject.toml441# for user-visible changes worth highlighting.COMMENT
LOW.grype.yaml1# Grype vulnerability ignore fileCOMMENT
LOW.grype.yaml21 # fixability only, not by severity.COMMENT
LOW.grype.yaml141 reason: "Heap overflow in Media. Playwright 1.58 bundles pre-fix Chromium. Headless scraping only."COMMENT
LOW.grype.yaml201 # --------------------------------------------------------------------------COMMENT
LOW.grype.yaml261 # NOT hide unknown, so an explicit entry is needed (empirically confirmed:COMMENT
LOW.grype.yaml401COMMENT
LOW.grype.yaml501 # fixed CVE-2026-8328, -9669, -7774, -3276 — those entries were removed.COMMENT
LOW.gitleaks.toml321 '''auth_token\s*=\s*session\.get\("temp_auth_token"\)''',COMMENT
LOWdocker-compose.yml1# ============================================================================COMMENT
LOWdocker-compose.yml41 # Only use environment variables if you want to enforce specific settingsCOMMENT
LOWdocker-compose.yml61 # Example - to expose on port 8080 instead of 5000:COMMENT
LOWdocker-compose.yml81COMMENT
LOWdocker-compose.yml101 # Get your API key from https://openrouter.ai/COMMENT
LOWdocker-compose.yml121 # The extra_hosts setting above enables this on Linux.COMMENT
LOWdocker-compose.yml141 soft: -1COMMENT
LOWdocker-compose.yml181 condition: service_startedCOMMENT
LOWeslint.config.js241 "chai-friendly/no-unused-expressions": "error",COMMENT
LOWbearer.yml1# Bearer SAST Scanner ConfigurationCOMMENT
LOWbearer.yml21COMMENT
LOWbearer.yml41 # - validate_config_path(): Validates config file pathsCOMMENT
LOWbearer.yml61 # SAFE TO SKIP: Same rationale as python_lang_insecure_random above.COMMENT
LOWbearer.yml81 # - escapeHtml() inline fallbacks in component filesCOMMENT
LOWbearer.yml101 # Observable timing alerts (javascript_lang_observable_timing)COMMENT
LOWcommunity_benchmark_results/benchmark_template.yaml61test_details:COMMENT
LOWtests/settings/test_settings_defaults_integrity.py61 # 'dark' was a legacy theme name; dynamic options from theme_registryCOMMENT
LOWtests/database/test_alembic_migrations.py6081 # 0018: restoring 'mcp'/'agentic' strategy references would recreateCOMMENT
LOWtests/database/test_settings_models.py421 # Note: onupdate might not trigger in SQLite without proper configurationCOMMENT
LOWtests/database/test_migration_0021_note_tables.py81COMMENT
LOWtests/database/test_paper_dedup_integration.py461 assert len(all_papers) == 1, (COMMENT
LOWtests/database/test_paper_dedup_integration.py481 # dedup coverage above (test_same_doi_deduped_across_two_sources,COMMENT
LOWtests/database/test_sqlcipher_connection_factory.py341# the inline SQLCipher creator inside create_thread_safe_session_for_metrics.COMMENT
LOWtests/auth_tests/test_auth_rate_limiting.py521 # 3. Fast-forward time by 15 minutes (using time mocking)COMMENT
LOWtests/chat/conftest.py21# with ``SettingsManager`` and ``get_user_db_session`` bound asCOMMENT
LOWtests/chat/test_chat_send_message_followups.py201 ),COMMENT
LOWtests/chat/test_chat_research_history_integration.py101# stored inline (snapshot semantics). The "fetch fromCOMMENT
LOWtests/security/test_xss_prevention.py221 # DOM-based XSS happens when client-side JavaScript uses untrusted dataCOMMENT
LOWtests/security/test_xss_prevention.py241 @pytest.mark.skip(reason="documentation/placeholder test - not implemented")COMMENT
LOWtests/security/test_egress_langgraph_tool_filter.py341COMMENT
LOWtests/security/test_auth_security.py21 LDR uses SQLCipher encryption for user databases.COMMENT
LOWtests/security/test_auth_security.py121 """Test that logout completely invalidates the session."""COMMENT
LOWtests/security/test_egress_settings_save_validators.py801COMMENT
LOW…s/security/test_settings_secret_redaction_isolation.py281 "notifications.service_url": "***REDACTED***",COMMENT
LOWtests/security/test_sql_injection.py281 # - session.query() - ✓ Safe (parameterized)COMMENT
LOWtests/security/test_csrf_protection.py161COMMENT
LOWtests/security/test_csrf_protection.py201 # - Request headers (X-CSRFToken)COMMENT
LOWtests/js/setup.js41// Shared notes helpers (window.NotesShared.postJson/csrfToken/toast) — inCOMMENT
LOWtests/js/collection-details.test.js261 here,COMMENT
LOWtests/js/components/logpanel.test.js401 beforeEach(() => {COMMENT
LOWtests/js/components/logpanel.test.js481 // each run addLogEntryToPanel's full-container querySelectorAll scansCOMMENT
LOWtests/js/components/logpanel.test.js1141 it("falls back to the button's label text (excluding the badge) when data-filter-type is missing", () => {COMMENT
LOWtests/js/components/logpanel.test.js1201COMMENT
LOWtests/js/components/logpanel.test.js1381 expect(getFilterCount('info')).toBe(1);COMMENT
461 more matches not shown…
Structural Annotation Overuse158 hits · 294 pts
SeverityFileLineSnippetContext
LOWREADME.md52# Step 1: Pull and run OllamaCOMMENT
LOWREADME.md56# Step 2: Pull and run SearXNG for optimal search resultsCOMMENT
LOWREADME.md59# Step 3: Pull and run Local Deep ResearchCOMMENT
LOWdocker-compose.yml91 # WARNING: This will disable UI configuration for these settings!COMMENT
LOWtests/test_openai_api_key_e2e.py64 # Step 1: AuthenticateCOMMENT
LOWtests/test_openai_api_key_e2e.py71 # Step 2: Configure settingsCOMMENT
LOWtests/test_openai_api_key_e2e.py109 # Step 3: Test LLM initializationCOMMENT
LOWtests/test_openai_api_key_e2e.py120 # Step 4: Test simple LLM callCOMMENT
LOWtests/test_openai_api_key_e2e.py143 # Step 5: Test research functionalityCOMMENT
LOWtests/vector_stores/test_full_migration_lifecycle.py227 # Step 1: a REALISTIC LEGACY index directly at the SHARED (NOTCOMMENT
LOWtests/vector_stores/test_full_migration_lifecycle.py310 # Step 3: trigger the per-user relocation. In production this isCOMMENT
LOWtests/vector_stores/test_full_migration_lifecycle.py391 # Step 4: SEARCH through the real VectorIndex facade (via theCOMMENT
LOWtests/vector_stores/test_full_migration_lifecycle.py402 # Step 5: a NEW document indexed normally MERGES into the relocated +COMMENT
LOWtests/database/test_alembic_migrations.py4560 # Step 1: Migrate to 0001 onlySTRING
LOWtests/database/test_alembic_migrations.py4564 # Step 2: Insert dataSTRING
LOWtests/database/test_alembic_migrations.py4591 # Step 3: Upgrade to head (0005)STRING
LOWtests/database/test_alembic_migrations.py4595 # Step 4: Verify data survivedSTRING
LOWtests/database/test_alembic_migrations.py4608 # Step 5: Verify new columns existSTRING
LOWtests/database/test_alembic_migrations.py4640 # Step 6: Another run_migrations should be no-opSTRING
LOWtests/deletion/test_cascade_integration.py241 # Step 1: Delete chunks (no FK, manual cleanup required)COMMENT
LOWtests/deletion/test_cascade_integration.py247 # Step 2: Delete document (CASCADE handles blob and collection links)COMMENT
LOWtests/deletion/test_cascade_integration.py404 # Step 1: Delete chunks (no FK, manual cleanup)COMMENT
LOWtests/deletion/test_cascade_integration.py409 # Step 2: Delete RAG indexCOMMENT
LOWtests/deletion/test_cascade_integration.py414 # Step 3: Delete collection (CASCADE handles folders, links)COMMENT
LOWtests/chat/test_chat_e2e_flows.py19 # Step 1: Create sessionCOMMENT
LOWtests/chat/test_chat_e2e_flows.py30 # Step 2: Send a messageCOMMENT
LOWtests/chat/test_chat_e2e_flows.py44 # Step 3: Get messagesCOMMENT
LOWtests/security/test_csrf_e2e_flow.py31 # Step 1: GET /auth/login to get a CSRF token for registrationCOMMENT
LOWtests/security/test_csrf_e2e_flow.py43 # Step 2: Register (auto-logs in the user)COMMENT
LOWtests/security/test_csrf_e2e_flow.py62 # Step 3: Get API CSRF token from /auth/csrf-tokenCOMMENT
LOWtests/security/test_csrf_e2e_flow.py69 # Step 4: POST /api/start_research WITH CSRF token — should pass CSRFCOMMENT
LOWtests/security/test_csrf_e2e_flow.py89 # Step 5: POST /api/start_research WITHOUT CSRF token — should be rejectedCOMMENT
LOWtests/research_library/zotero/test_sync_service.py1738 # Step 1: first contact — byte-identical, so the item adopts the upload.COMMENT
LOWtests/research_library/zotero/test_sync_service.py1753 # Step 2: the PDF is replaced in Zotero — content now differs.COMMENT
LOW…arch_library/services/test_index_documents_parallel.py825 # Step 1: pre-create wrapper A and put it in the dict as canonical.COMMENT
LOW…rch_library/services/test_multi_model_switch_revert.py202 # Step 1: index under model A.COMMENT
LOW…rch_library/services/test_multi_model_switch_revert.py250 # Step 2: switch to model B, force-reindex the SAME document/collection.COMMENT
LOW…rch_library/services/test_multi_model_switch_revert.py356 # Step 4: revert for real via the WRITE-path resolutionCOMMENT
LOWtests/web/routes/test_search_favorites.py458 # Step 1: Get empty favoritesCOMMENT
LOWtests/web/routes/test_search_favorites.py465 # Step 2: Add searxng to favoritesCOMMENT
LOWtests/web/routes/test_search_favorites.py474 # Step 3: Add arxiv to favoritesCOMMENT
LOWtests/web/routes/test_search_favorites.py484 # Step 4: Remove searxng from favoritesCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js75 // Step 1: AuthenticateCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js80 // Step 2: Go to home pageCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js86 // Step 3: Check what's on the pageCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js151 // Step 4: Fill the formCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js190 // Step 5: Check JavaScript stateCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js235 // Step 6: Submit the formCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js279 // Step 7: SummaryCOMMENT
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js41 // Step 1: LoginCOMMENT
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js55 // Step 2: Navigate to parent researchCOMMENT
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js65 // Step 3: Test direct API call for follow-upCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js27 // Step 1: AuthenticateCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js32 // Step 2: Navigate to homeCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js39 // Step 3: Configure modelCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js47 // Step 4: Enter queryCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js53 // Step 5: Submit researchCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js69 // Step 6: Verify research startedCOMMENT
LOWtests/ui_tests/test_metrics_display.js17 // Step 1: Create and authenticate userCOMMENT
LOWtests/ui_tests/test_metrics_display.js27 // Step 2: Start a simple researchCOMMENT
98 more matches not shown…
Verbosity Indicators137 hits · 254 pts
SeverityFileLineSnippetContext
LOWtests/test_openai_api_key_e2e.py64 # Step 1: AuthenticateCOMMENT
LOWtests/test_openai_api_key_e2e.py71 # Step 2: Configure settingsCOMMENT
LOWtests/test_openai_api_key_e2e.py109 # Step 3: Test LLM initializationCOMMENT
LOWtests/test_openai_api_key_e2e.py120 # Step 4: Test simple LLM callCOMMENT
LOWtests/test_openai_api_key_e2e.py143 # Step 5: Test research functionalityCOMMENT
LOWtests/vector_stores/test_full_migration_lifecycle.py227 # Step 1: a REALISTIC LEGACY index directly at the SHARED (NOTCOMMENT
LOWtests/vector_stores/test_full_migration_lifecycle.py310 # Step 3: trigger the per-user relocation. In production this isCOMMENT
LOWtests/vector_stores/test_full_migration_lifecycle.py391 # Step 4: SEARCH through the real VectorIndex facade (via theCOMMENT
LOWtests/vector_stores/test_full_migration_lifecycle.py402 # Step 5: a NEW document indexed normally MERGES into the relocated +COMMENT
LOWtests/database/test_alembic_migrations.py4560 # Step 1: Migrate to 0001 onlySTRING
LOWtests/database/test_alembic_migrations.py4564 # Step 2: Insert dataSTRING
LOWtests/database/test_alembic_migrations.py4591 # Step 3: Upgrade to head (0005)STRING
LOWtests/database/test_alembic_migrations.py4595 # Step 4: Verify data survivedSTRING
LOWtests/database/test_alembic_migrations.py4608 # Step 5: Verify new columns existSTRING
LOWtests/database/test_alembic_migrations.py4640 # Step 6: Another run_migrations should be no-opSTRING
LOWtests/deletion/test_cascade_integration.py241 # Step 1: Delete chunks (no FK, manual cleanup required)COMMENT
LOWtests/deletion/test_cascade_integration.py247 # Step 2: Delete document (CASCADE handles blob and collection links)COMMENT
LOWtests/deletion/test_cascade_integration.py404 # Step 1: Delete chunks (no FK, manual cleanup)COMMENT
LOWtests/deletion/test_cascade_integration.py409 # Step 2: Delete RAG indexCOMMENT
LOWtests/deletion/test_cascade_integration.py414 # Step 3: Delete collection (CASCADE handles folders, links)COMMENT
LOWtests/chat/test_chat_e2e_flows.py19 # Step 1: Create sessionCOMMENT
LOWtests/chat/test_chat_e2e_flows.py30 # Step 2: Send a messageCOMMENT
LOWtests/chat/test_chat_e2e_flows.py44 # Step 3: Get messagesCOMMENT
LOWtests/security/test_csrf_e2e_flow.py31 # Step 1: GET /auth/login to get a CSRF token for registrationCOMMENT
LOWtests/security/test_csrf_e2e_flow.py43 # Step 2: Register (auto-logs in the user)COMMENT
LOWtests/security/test_csrf_e2e_flow.py62 # Step 3: Get API CSRF token from /auth/csrf-tokenCOMMENT
LOWtests/security/test_csrf_e2e_flow.py69 # Step 4: POST /api/start_research WITH CSRF token — should pass CSRFCOMMENT
LOWtests/security/test_csrf_e2e_flow.py89 # Step 5: POST /api/start_research WITHOUT CSRF token — should be rejectedCOMMENT
LOWtests/research_library/zotero/test_sync_service.py1738 # Step 1: first contact — byte-identical, so the item adopts the upload.COMMENT
LOWtests/research_library/zotero/test_sync_service.py1753 # Step 2: the PDF is replaced in Zotero — content now differs.COMMENT
LOW…arch_library/services/test_index_documents_parallel.py825 # Step 1: pre-create wrapper A and put it in the dict as canonical.COMMENT
LOW…rch_library/services/test_multi_model_switch_revert.py202 # Step 1: index under model A.COMMENT
LOW…rch_library/services/test_multi_model_switch_revert.py250 # Step 2: switch to model B, force-reindex the SAME document/collection.COMMENT
LOW…rch_library/services/test_multi_model_switch_revert.py356 # Step 4: revert for real via the WRITE-path resolutionCOMMENT
LOWtests/web/routes/test_search_favorites.py458 # Step 1: Get empty favoritesCOMMENT
LOWtests/web/routes/test_search_favorites.py465 # Step 2: Add searxng to favoritesCOMMENT
LOWtests/web/routes/test_search_favorites.py474 # Step 3: Add arxiv to favoritesCOMMENT
LOWtests/web/routes/test_search_favorites.py484 # Step 4: Remove searxng from favoritesCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js75 // Step 1: AuthenticateCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js80 // Step 2: Go to home pageCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js86 // Step 3: Check what's on the pageCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js151 // Step 4: Fill the formCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js190 // Step 5: Check JavaScript stateCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js235 // Step 6: Submit the formCOMMENT
LOWtests/ui_tests/test_research_diagnosis.js279 // Step 7: SummaryCOMMENT
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js41 // Step 1: LoginCOMMENT
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js55 // Step 2: Navigate to parent researchCOMMENT
LOW…ts/ui_tests/NO_CI_executes_research_followup_simple.js65 // Step 3: Test direct API call for follow-upCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js27 // Step 1: AuthenticateCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js32 // Step 2: Navigate to homeCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js39 // Step 3: Configure modelCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js47 // Step 4: Enter queryCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js53 // Step 5: Submit researchCOMMENT
LOW…sts/ui_tests/NO_CI_executes_research_fixed_research.js69 // Step 6: Verify research startedCOMMENT
LOWtests/ui_tests/test_metrics_display.js17 // Step 1: Create and authenticate userCOMMENT
LOWtests/ui_tests/test_metrics_display.js27 // Step 2: Start a simple researchCOMMENT
LOWtests/ui_tests/test_metrics_display.js54 // Step 3: Wait a bit for metrics to be generatedCOMMENT
LOWtests/ui_tests/test_metrics_display.js58 // Step 4: Go to metrics pageCOMMENT
LOWtests/ui_tests/test_metrics_display.js63 // Step 5: Check what's on the page (with error handling)COMMENT
LOWtests/ui_tests/DEBUG_research_submit_debug.js49 // Step 1: LoginCOMMENT
77 more matches not shown…
Hallucination Indicators20 hits · 220 pts
SeverityFileLineSnippetContext
CRITICALtests/security/test_file_integrity_manager_coverage.py927 session.query.return_value.filter_by.return_value.order_by.return_value.limit.assert_called()CODE
CRITICALtests/js/deletion/delete-modules.test.js270 const deleteCall = window.api.fetchWithErrorHandling.mock.calls.find(CODE
CRITICALtests/js/pages/note-detail-accept-link.test.js177 const infoCalls = window.ui.showMessage.mock.calls.filter(c => c[1] === 'info');CODE
CRITICALtests/research_library/zotero/test_client.py420 assert client.session.get.call_args.kwargs.get("allow_redirects") is FalseCODE
CRITICAL…s/research_library/routes/test_rag_indexing_helpers.py193 db.query.return_value.filter_by.return_value.update.assert_called_once()CODE
CRITICAL…_library/services/test_library_rag_service_rollback.py180 session.query.return_value.filter_by.return_value.delete.assert_called_once()CODE
CRITICALtests/web/auth/test_cleanup_middleware.py373 mock_db_session.query.return_value.filter_by.return_value.limit.assert_called_with(CODE
CRITICALtests/web/routes/test_history_routes_coverage.py252 chain.group_by.return_value.order_by.return_value.limit.assert_called_with(CODE
CRITICALtests/web/routes/test_history_routes_coverage.py255 chain.group_by.return_value.order_by.return_value.limit.return_value.offset.assert_called_with(CODE
CRITICALtests/web/routes/test_history_routes_coverage.py275 chain.group_by.return_value.order_by.return_value.limit.assert_called_with(CODE
CRITICALtests/web/routes/test_settings_routes_rate_limiting.py171 session.query.return_value.filter_by.return_value.delete.assert_called_once()CODE
CRITICALtests/web/routes/test_settings_routes_rate_limiting.py197 session.query.return_value.filter.return_value.delete.assert_called_once()CODE
CRITICALtests/web/routes/test_settings_routes_rate_limiting.py208 session.query.return_value.filter.return_value.delete.assert_called_once()CODE
CRITICALtests/news/test_rating_storage_extended.py529 mock_query.filter_by.return_value.order_by.return_value.limit.assert_called_with(CODE
CRITICALtests/news/test_folder_manager_behavior.py268 session.query.return_value.filter_by.return_value.update.assert_called()CODE
CRITICALtests/news/test_folder_manager_behavior.py277 session.query.return_value.filter_by.return_value.update.assert_called()CODE
CRITICALtests/news/test_folder_manager_extended.py255 mock_session.query.return_value.filter_by.return_value.update.assert_called_once_with(CODE
CRITICALtests/news/test_folder_manager_extended.py271 mock_session.query.return_value.filter_by.return_value.update.assert_called_once_with(CODE
CRITICALtests/news/rating_system/test_storage.py373 mock_query.order_by.return_value.limit.return_value.offset.assert_called_once_with(CODE
CRITICAL.github/workflows/welcome-first-time.yml59 const opts = github.rest.issues.listForRepo.endpoint.merge({CODE
AI Slop Vocabulary87 hits · 207 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_api_settings_e2e.py80 """Test detailed_research with comprehensive settings.STRING
MEDIUMtests/test_openai_api_key_e2e.py247 # diagnose=False: this e2e harness passes args.api_key andSTRING
MEDIUMtests/run_all_tests.py593 # Legacy comprehensive testing - runs some tests multiple times (< 15min)COMMENT
MEDIUMtests/vector_stores/test_legacy_rekey_quarantine.py48 # Route session.query(Model) by class name so the test is robust to importCOMMENT
MEDIUMtests/database/test_sqlcipher_utils.py1243 # robust if that min_value is ever raised.COMMENT
MEDIUM…earch_system/filters/test_followup_relevance_filter.py349 assert call_args.count("A") < 200 # Definitely truncated from originalCODE
MEDIUM…_system/strategies/test_topic_organization_strategy.py783 """Format topic findings creates comprehensive output."""STRING
LOW…ed_search_system/questions/test_browsecomp_question.py692 # Should not raise, just return FalseCOMMENT
MEDIUM…_system/questions/test_flexible_browsecomp_question.py257 assert call_args.count("A") < 500 # Definitely truncated from originalCODE
MEDIUMtests/infrastructure_tests/test_urls_js.py39 # More robust extraction pattern that handles multiline and commentsCOMMENT
LOWtests/content_fetcher/test_html_content_extraction.py155 # Should not crash, just return minimal/empty outputCOMMENT
LOWtests/security/test_safe_requests_hook.py224 # Should not raise, just return True (let other tools handle syntax)COMMENT
MEDIUMtests/security/test_url_validator_extended.py96# is_safe_url -- comprehensive scheme / option / pattern testsCOMMENT
MEDIUMtests/security/test_safe_requests_retries.py186 # 30s band absorbs clock jitter and test-harness latency.COMMENT
LOWtests/research_library/test_utils.py459 # Should not raise an error, just return FalseCOMMENT
LOW…esearch_library/downloaders/test_biorxiv_downloader.py70 # Should not raise, just return FalseCOMMENT
MEDIUMtests/research_library/routes/test_rag_routes.py2557 # Create comprehensive mock for SettingsManagerCOMMENT
MEDIUM…rch_library/services/test_download_service_3827_fix.py638 # Route session.query(...) by model so the call order is robust to theCOMMENT
MEDIUM…arch_library/services/test_index_finalize_self_heal.py132 # needs real key material; stub it (as the canonical harness does) soCOMMENT
MEDIUMtests/web/routes/test_research_routes.py365 # call (not a positional index) so the guard stays robust if queriesCOMMENT
LOWtests/web/routes/test_settings_policy_validators.py34 # Should simply return (not raise) for any well-formed input.COMMENT
MEDIUMtests/error_handling/test_error_categorization.py301 """Tests for comprehensive error analysis."""STRING
MEDIUMtests/ui_tests/run_api_key_test.sh38# Run the comprehensive testCOMMENT
MEDIUMtests/ui_tests/test_register_full_flow.js350 // Uses AuthHelper for robust CI-compatible registration with proper timeoutsCOMMENT
MEDIUMtests/ui_tests/test_register_full_flow.js372 // Use AuthHelper which has robust CI-compatible registration logicCOMMENT
MEDIUMtests/ui_tests/test_checkbox_settings.js342 // Toggle checkbox using robust methodCOMMENT
MEDIUMtests/ui_tests/test_checkbox_settings.js384 // Toggle using robust methodCOMMENT
MEDIUMtests/ui_tests/test_checkbox_settings.js485 // Toggle the checkbox using robust methodCOMMENT
MEDIUMtests/ui_tests/test_research_submit.js88 // Submit the form with robust retry logicCOMMENT
MEDIUMtests/notes/test_note_stress.py955 # in this test harness; force the capture to None so update_noteCOMMENT
MEDIUMtests/notes/test_notes_routes_review_fixes.py64 # common attribute names so this is robust to library upgrades.COMMENT
LOWtests/news/test_card_factory_extended.py777 # This should not raise, just return NoneCOMMENT
LOW…citation_handlers/test_precision_extraction_handler.py817 # Should just return the LLM response without extraction modificationsCOMMENT
MEDIUMtests/document_loaders/test_loader_registry_coverage.py314# get_loader_for_path - comprehensive coverageCOMMENT
MEDIUMtests/pdf_tests/test_file_validator.py242 """Tests for validate_upload comprehensive method."""STRING
MEDIUMtests/health_check/test_endpoints_health.py67 """Run comprehensive health check and print summary"""STRING
LOW…ch_engines/rate_limiting/test_tracker_quality_stats.py512 # Should not raise, just return earlyCOMMENT
MEDIUM…web_search_engines/engines/test_search_engine_sofya.py530 # distinct class objects; only `.value` (or `.name`) is robust.COMMENT
MEDIUMexamples/optimization/strategy_benchmark_plan.py141 num_examples=NUM_EXAMPLES, # Use 500 examples for robust evaluationCODE
MEDIUMexamples/optimization/strategy_benchmark_plan.py185 num_examples=NUM_EXAMPLES, # Use 500 examples for robust evaluationCODE
MEDIUMexamples/optimization/strategy_benchmark_plan.py229 num_examples=NUM_EXAMPLES, # Use 500 examples for robust evaluationCODE
MEDIUMexamples/optimization/strategy_benchmark_plan.py274 num_examples=NUM_EXAMPLES, # Use 500 examples for robust evaluationCODE
LOWexamples/api_usage/simple_client_example.py37 # Now just use it - no more CSRF hassles!COMMENT
MEDIUM…es/api_usage/programmatic/advanced_features_example.py54 # Generate a comprehensive reportSTRING
MEDIUM…/api_usage/programmatic/simple_programmatic_example.py75# Generate a comprehensive reportCOMMENT
MEDIUM…pi_usage/programmatic/api_public_contract_guardrail.py32# DO NOT MODIFY this function — it is the test harness for the guardrailCOMMENT
MEDIUMexamples/benchmarks/claude_grading/run_benchmark.sh26# Use a long timeout for comprehensive benchmarksCOMMENT
MEDIUM.github/workflows/ai-code-reviewer.yml152 # spaces — model ids shouldn't have either, but this is robust.)COMMENT
MEDIUM.github/workflows/file-whitelist-check.yml2# Enhanced security checks with comprehensive file type detectionCOMMENT
MEDIUM.github/workflows/gitleaks.yml38 fetch-depth: 0 # Fetch full history for comprehensive secret scanningCODE
MEDIUM.github/workflows/playwright-webkit-tests.yml154 # - mobile-ui-audit: comprehensive mobile UI quality checksCOMMENT
MEDIUM.github/workflows/playwright-webkit-tests.yml324 # - mobile-ui-audit: comprehensive mobile UI quality checksCOMMENT
MEDIUM.github/scripts/file-whitelist-check.sh4# Enhanced security checks with comprehensive file type detectionCOMMENT
MEDIUM.github/scripts/file-whitelist-check.sh57# Use a more robust approach that handles edge casesCOMMENT
MEDIUMsrc/local_deep_research/report_generator.py1097 # Section-level prompt - more comprehensiveCOMMENT
MEDIUMsrc/local_deep_research/search_system.py78 strategy_name: str = "source-based", # Default to comprehensive research strategyCODE
MEDIUM…ced_search_system/filters/journal_reputation_filter.py94 # controls — the comprehensive pattern audited in log_sanitizer,COMMENT
MEDIUM…earch_system/strategies/topic_organization_strategy.py1717 # Part 2: Generate comprehensive summary based on the topic sectionsCOMMENT
MEDIUM…em/strategies/followup/enhanced_contextual_followup.py72 # Build comprehensive contextCOMMENT
MEDIUM…research/advanced_search_system/findings/repository.py275 prompt = f"""Use IEEE style citations [1], [2], etc. Never make up your own citations. Synthesize the followCODE
27 more matches not shown…
Magic Placeholder Names28 hits · 160 pts
SeverityFileLineSnippetContext
HIGH.gitleaks.toml228 '''your-api-key-here''',STRING
HIGHdocker-compose.yml95 # - LDR_LLM_OPENAI_API_KEY=<your-api-key> # Lock OpenAI API keyCOMMENT
HIGHdocker-compose.yml96 # - LDR_LLM_ANTHROPIC_API_KEY=<your-api-key> # Lock Anthropic API keyCOMMENT
HIGHdocker-compose.yml106 # - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>COMMENT
HIGHdocker-compose.yml115 # - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>COMMENT
HIGHtests/test_openai_api_key_e2e.py18 export LDR_LLM_OPENAI_API_KEY=your_api_keySTRING
HIGHdocs/faq.md384 export LDR_LLM_OPENAI_ENDPOINT_API_KEY="<your-api-key>"CODE
HIGHdocs/faq.md395 - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>CODE
HIGHdocs/docker-compose-guide.md140 - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>CODE
HIGHdocs/troubleshooting-openai-api-key.md19export OPENAI_API_KEY=sk-your-api-keyCODE
HIGHdocs/troubleshooting-openai-api-key.md42 export OPENAI_API_KEY=sk-your-api-keyCODE
HIGHdocs/troubleshooting-openai-api-key.md54 settings_manager.set_setting("llm.openai.api_key", "sk-your-api-key")CODE
HIGHdocs/troubleshooting-openai-api-key.md74 -H "Authorization: Bearer YOUR_API_KEY"CODE
HIGHdocs/troubleshooting-openai-api-key.md218settings_manager.set_setting("llm.openai.api_key", "your-api-key")CODE
HIGHdocs/env_configuration.md142export LDR_LLM_OPENAI_ENDPOINT_API_KEY="<your-api-key>"CODE
HIGHdocs/env_configuration.md156 - LDR_LLM_OPENAI_ENDPOINT_API_KEY=<your-api-key>CODE
HIGHdocs/env_configuration.md172export LDR_LLM_OPENAI_ENDPOINT_API_KEY="<your-api-key>"CODE
HIGHdocs/env_configuration.md182 -e LDR_LLM_OPENAI_API_KEY=your-api-key-here \CODE
HIGHdocs/env_configuration.md220export LDR_LLM_ANTHROPIC_API_KEY=your-api-key-hereCODE
HIGHdocs/env_configuration.md223set LDR_LLM_ANTHROPIC_API_KEY=your-api-key-hereCODE
HIGHexamples/optimization/README.md47 python update_llm_config.py --model "google/gemini-2.0-flash" --provider "openai_endpoint" --endpoint "https://openrouCODE
HIGHexamples/optimization/README.md52 python run_gemini_benchmark.py --api-key "your-api-key" --examples 10CODE
HIGHexamples/optimization/update_llm_config.py14 pdm run python examples/optimization/update_llm_config.py --model "google/gemini-2.0-flash" --provider "openai_endpoSTRING
HIGHexamples/benchmarks/run_gemini_benchmark.py13 pdm run python examples/benchmarks/run_gemini_benchmark.py --api-key YOUR_API_KEYSTRING
HIGHsrc/local_deep_research/api/research_functions.py216 api_key="your-api-key-here"STRING
HIGH…deep_research/web_search_engines/search_engine_base.py45 "YOUR_API_KEY",CODE
HIGH…deep_research/web_search_engines/search_engine_base.py47 "your_api_key",CODE
HIGH…deep_research/web_search_engines/search_engine_base.py48 "your-api-key",CODE
Cross-Language Confusion26 hits · 138 pts
SeverityFileLineSnippetContext
HIGH.pre-commit-hooks/recommend-pr-description-update.py64 The ``currentBranch`` key is a single object (or null) — not an array.STRING
HIGHtests/config/test_thread_settings_high_value.py128 # embeddings.openai.dimensions defaults to JSON null, thenCOMMENT
HIGH…search_library/routes/test_rag_routes_gaps_coverage.py1598 # {"agent_enabled": null} → stored True (available), serialized True.COMMENT
HIGHtests/web/test_save_research_sources_hostile_values.py348 """``{"name": null}`` is the ordinary JSON shape for a missing authorSTRING
HIGHtests/web/warning_checks/test_hardware.py319 config_file.write_text('{"port": null}', encoding="utf-8")CODE
HIGHtests/web/services/test_settings_manager_extended.py721 ctx.push()CODE
HIGHtests/notes/test_note_ai_service.py266 '{"added": null, "removed": "a paragraph about X", 'CODE
HIGHtests/notes/test_note_ai_service.py267 '"modified": ["real change", null], "summary": null}'CODE
HIGHtests/notes/test_note_ai_service.py865 '{"entities": null, "concepts": "not a list", 'CODE
HIGHtests/notes/test_note_ai_service.py1171 '["real claim", 123, null, " ", {"x": 1}, "second claim"]'CODE
HIGHtests/notes/test_note_ai_service.py1159 ``isinstance(c, str) and c.strip()`` — non-string items (int, null,STRING
HIGHtests/notes/test_note_ai_service.py2275 (id: null) — it must be skipped, not returned."""STRING
HIGHtests/news/test_library_sweep.py889 research orphan (research_id set, text not null, NO default-library link)STRING
HIGHtests/news/test_topic_generator_coverage.py113 result = self._run_with_llm_content('[123, "Valid", null, true]')CODE
HIGH…s/benchmarks/web_api/test_benchmark_export_metadata.py140 """A row with all new columns NULL must serialize as JSON null, notSTRING
HIGHsrc/local_deep_research/settings/manager.py208 # A shipped optional default may legitimately be null; the equalityCOMMENT
HIGHsrc/local_deep_research/config/thread_settings.py25# (e.g. embeddings.openai.dimensions, which defaults to JSON null) into theCOMMENT
HIGHsrc/local_deep_research/security/url_validator.py500 if (!url || typeof url !== 'string') {CODE
HIGHsrc/local_deep_research/security/url_validator.py531 if (trustedDomains.length > 0 && parsed.hostname) {CODE
HIGHsrc/local_deep_research/security/url_validator.py552 if (!url) return null;CODE
HIGHsrc/local_deep_research/security/url_validator.py556 return null;CODE
HIGHsrc/local_deep_research/security/url_validator.py572 return null;CODE
HIGH…search/research_library/downloaders/playwright_html.py54 if (window.navigator && window.navigator.serviceWorker) {CODE
HIGH…search/research_library/downloaders/playwright_html.py61 get() { return undefined; },CODE
HIGH…rch/research_library/notes/services/note_ai_service.py1352 # drops a section (null).COMMENT
HIGH…rch/research_library/notes/services/note_ai_service.py201 the key is present-but-null, not the default) or a bare string for a keySTRING
Modern Structural Boilerplate103 hits · 103 pts
SeverityFileLineSnippetContext
LOWtests/web/queue/test_queued_research_lifecycle_races.py40 def set_session() -> None:CODE
LOWsrc/local_deep_research/__init__.py15__all__ = [CODE
LOWsrc/local_deep_research/vector_stores/__init__.py15__all__ = [CODE
LOWsrc/local_deep_research/metrics/__init__.py6__all__ = [CODE
LOWsrc/local_deep_research/metrics/pricing/__init__.py12__all__ = ["CostCalculator", "PricingCache", "PricingFetcher"]CODE
LOWsrc/local_deep_research/settings/env_settings.py385__all__ = [CODE
LOWsrc/local_deep_research/settings/__init__.py18__all__ = [CODE
LOWsrc/local_deep_research/settings/env_registry.py147__all__ = [CODE
LOWsrc/local_deep_research/settings/manager.py1441 def update_db_version(self, commit: bool = True) -> None:CODE
LOW…cal_deep_research/settings/env_definitions/__init__.py27__all__ = [CODE
LOWsrc/local_deep_research/database/sqlcipher_utils.py220def set_sqlcipher_key_from_hex(cursor_or_conn: Any, hex_key: str) -> None:CODE
LOWsrc/local_deep_research/database/models/__init__.py114__all__ = [CODE
LOWsrc/local_deep_research/database/models/base.py14__all__ = ["Base"]CODE
LOWsrc/local_deep_research/database/backup/__init__.py12__all__ = [CODE
LOW…local_deep_research/advanced_search_system/__init__.py7__all__ = []CODE
LOW…research/advanced_search_system/candidates/__init__.py5__all__ = ["Candidate"]CODE
LOW…ep_research/advanced_search_system/filters/__init__.py8__all__ = ["CrossEngineFilter"]CODE
LOW…esearch/advanced_search_system/tools/fetch/__init__.py646__all__ = ["FETCH_MODES", "build_fetch_tool", "make_library_resolver"]CODE
LOW…p_research/advanced_search_system/evidence/__init__.py6__all__ = [CODE
LOW…esearch/advanced_search_system/constraints/__init__.py6__all__ = ["Constraint", "ConstraintAnalyzer", "ConstraintType"]CODE
LOW…earch/advanced_search_system/summarization/__init__.py11__all__ = [CODE
LOW…research/advanced_search_system/strategies/__init__.py7__all__ = [CODE
LOW…earch_system/strategies/topic_organization_strategy.py155 def set_progress_callback(self, callback) -> None:CODE
LOW…advanced_search_system/strategies/followup/__init__.py10__all__ = ["EnhancedContextualFollowUpStrategy"]CODE
LOW…vanced_search_system/candidate_exploration/__init__.py15__all__ = [CODE
LOW…search/advanced_search_system/repositories/__init__.py7__all__ = ["FindingsRepository"]CODE
LOW…deep_research/advanced_search_system/findings/topic.py41 def update_lead_source(self, new_lead: Dict[str, Any]) -> None:CODE
LOW…deep_research/advanced_search_system/findings/topic.py100 def set_parent_child(self, parent_id: str, child_id: str) -> None:CODE
LOW…_research/advanced_search_system/questions/__init__.py10__all__ = [CODE
LOW…/advanced_search_system/questions/followup/__init__.py11__all__ = [CODE
LOWsrc/local_deep_research/llm/__init__.py12__all__ = [CODE
LOWsrc/local_deep_research/llm/providers/__init__.py10__all__ = [CODE
LOWsrc/local_deep_research/embeddings/__init__.py29__all__ = [CODE
LOW…c/local_deep_research/embeddings/providers/__init__.py5__all__ = ["BaseEmbeddingProvider"]CODE
LOW…earch/embeddings/providers/implementations/__init__.py7__all__ = [CODE
LOW…c/local_deep_research/embeddings/splitters/__init__.py9__all__ = ["get_text_splitter", "VALID_SPLITTER_TYPES"]CODE
LOWsrc/local_deep_research/chat/__init__.py15__all__ = [CODE
LOWsrc/local_deep_research/content_fetcher/__init__.py19__all__ = ["ContentFetcher", "URLClassifier", "URLType"]CODE
LOWsrc/local_deep_research/security/__init__.py73__all__ = [CODE
LOWsrc/local_deep_research/security/egress/audit_hook.py73def set_active_context(ctx) -> None:CODE
LOWsrc/local_deep_research/security/egress/__init__.py42__all__ = [CODE
LOW…ocal_deep_research/security/file_integrity/__init__.py37__all__ = [CODE
LOW…_research/security/file_integrity/integrity_manager.py358 def update_checksum(self, file_path: Path) -> None:CODE
LOW…research/security/file_integrity/verifiers/__init__.py5__all__ = ["FAISSIndexVerifier"]CODE
LOWsrc/local_deep_research/research_library/__init__.py20__all__ = [CODE
LOW…al_deep_research/research_library/deletion/__init__.py21__all__ = [CODE
LOW…p_research/research_library/deletion/utils/__init__.py5__all__ = ["CascadeHelper"]CODE
LOW…_research/research_library/deletion/routes/__init__.py5__all__ = ["delete_bp"]CODE
LOW…esearch/research_library/deletion/services/__init__.py7__all__ = [CODE
LOW…deep_research/research_library/downloaders/__init__.py19__all__ = [CODE
LOW…ch/research_library/downloaders/extraction/__init__.py21__all__ = [CODE
LOW…ocal_deep_research/research_library/zotero/__init__.py16__all__ = [CODE
LOW…_deep_research/research_library/zotero/sync_service.py360 def _set_progress(self, **fields) -> None:CODE
LOW…ocal_deep_research/research_library/search/__init__.py12__all__ = ["search_bp", "ResearchHistoryIndexer"]CODE
LOW…ep_research/research_library/search/routes/__init__.py3__all__ = ["search_bp"]CODE
LOW…_research/research_library/search/services/__init__.py6__all__ = ["ResearchHistoryIndexer", "auto_convert_research"]CODE
LOW…local_deep_research/research_library/notes/__init__.py18__all__ = ["NoteService", "NoteAIService"]CODE
LOW…p_research/research_library/notes/services/__init__.py16__all__ = ["NoteService", "NoteAIService", "get_note_source_type_id"]CODE
LOWsrc/local_deep_research/exporters/__init__.py45__all__ = [CODE
LOWsrc/local_deep_research/web/auth/__init__.py9__all__ = ["auth_bp", "current_user", "login_required"]CODE
43 more matches not shown…
Fake / Example Data84 hits · 86 pts
SeverityFileLineSnippetContext
LOWtests/test_search_engines_enhanced.py167 Mock(name="John Doe"),CODE
LOWtests/mock_fixtures.py122 "authors": [{"name": "John Doe"}, {"name": "Jane Smith"}],CODE
LOWtests/database/test_credential_store_behavior.py340 special_user = "user@example.com"CODE
LOWtests/database/backup/test_backup_service.py3276 "user@example.com", # Email formatCODE
LOW…/advanced_search_system/evidence/test_base_evidence.py120 metadata = {"author": "John Doe", "publication": "Science Journal"}CODE
LOW…/advanced_search_system/evidence/test_base_evidence.py129 assert evidence.metadata["author"] == "John Doe"CODE
LOW…ystem/questions/followup/test_llm_followup_question.py240 assert "placeholder" in docstring.lower() or "NOTE" in docstringCODE
LOWtests/security/test_csrf_protection.py87 "csrf_token": "invalid-fake-token-12345",CODE
LOWtests/js/utils/form-validation.test.js293 expect(emailLike('user@example.com')).toBeNull();CODE
LOW…/research_library/downloaders/test_arxiv_downloader.py254 assert "John Doe" in metadataCODE
LOW…esearch_library/downloaders/test_metadata_extractor.py80 "author": {"name": "Jane Doe"},CODE
LOW…esearch_library/downloaders/test_metadata_extractor.py90 assert "Jane Doe" in resultCODE
LOW…rary/downloaders/test_html_downloader_deep_coverage.py425 <meta name="author" content="John Doe">CODE
LOW…rary/downloaders/test_html_downloader_deep_coverage.py434 assert meta["author"] == "John Doe"STRING
LOW…ibrary/downloaders/test_metadata_extractor_expanded.py157 item = {"headline": "Story", "author": "Jane Doe"}CODE
LOW…ibrary/downloaders/test_metadata_extractor_expanded.py160 assert "Jane Doe" in textCODE
LOWtests/strategies/test_langgraph_agent_strategy.py5776 shared = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " * 8CODE
LOWtests/strategies/test_langgraph_agent_strategy.py5776 shared = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " * 8CODE
LOWtests/search_engines/conftest.py138 "authors": ["John Doe", "Jane Smith"],CODE
LOW…sts/search_engines/test_search_engine_stackexchange.py345 "display_name": "John Doe",CODE
LOW…sts/search_engines/test_search_engine_stackexchange.py375 assert previews[0]["author"] == "John Doe"CODE
LOWtests/search_engines/test_search_engine_retriever.py184 "author": "John Doe",CODE
LOWtests/search_engines/test_search_engine_retriever.py194 assert result["author"] == "John Doe"CODE
LOWtests/search_engines/test_search_engine_paperless.py307 "correspondent_name": "Acme Corp",CODE
LOWtests/search_engines/test_search_engine_paperless.py321 assert preview["author"] == "Acme Corp"CODE
LOWtests/search_engines/test_search_engine_arxiv.py106 mock_result.authors = [Mock(name="John Doe"), Mock(name="Jane Smith")]CODE
LOWtests/search_engines/test_search_engine_zenodo.py132 {"name": "Jane Doe"},CODE
LOWtests/search_engines/test_search_engine_zenodo.py136 assert result == ["John Smith", "Jane Doe"]CODE
LOWtests/ui_tests/test_loading_feedback_ci.js75 '[class*="placeholder"], ' +CODE
LOWtests/ui_tests/test_loading_feedback_ci.js88 if (cssText.includes('skeleton') || cssText.includes('placeholder') ||CODE
LOWtests/ui_tests/test_keyboard_accessibility_ci.js593 const hasPlaceholder = input.hasAttribute('placeholder');CODE
LOWtests/ui_tests/playwright/tests/mobile-ui-audit.spec.js87 text: (el.textContent || el.getAttribute('placeholder') || '').trim().slice(0, 30),CODE
LOWtests/ui_tests/playwright/tests/mobile-ui-audit.spec.js101 text: (el.textContent || el.getAttribute('placeholder') || '').trim().slice(0, 30),CODE
LOWtests/ui_tests/playwright/tests/mobile-ui-audit.spec.js191 const hasPlaceholder = input.getAttribute('placeholder');CODE
LOWtests/ui_tests/playwright/tests/mobile-ui-audit.spec.js304 placeholder: textarea.getAttribute('placeholder'),CODE
LOW…sts/ui_tests/playwright/tests/notes/notes-list.spec.js60 await expect(list.searchInput).toHaveAttribute('placeholder', /AI Hybrid/);CODE
LOW…sts/ui_tests/playwright/tests/notes/notes-list.spec.js64 await expect(list.searchInput).toHaveAttribute('placeholder', /keyword/i);CODE
LOW…sts/ui_tests/playwright/tests/notes/notes-list.spec.js69 await expect(list.searchInput).toHaveAttribute('placeholder', /meaning/i);CODE
LOW…sts/ui_tests/playwright/tests/notes/notes-a11y.spec.js143 const placeholder = await detail.addTagInput.getAttribute('placeholder');CODE
LOWtests/utilities/test_openalex_enrichment.py305 results, email="researcher@example.org"CODE
LOWtests/utilities/test_openalex_enrichment.py308 assert call.kwargs["params"]["mailto"] == "researcher@example.org"CODE
LOWtests/utilities/test_openalex_enrichment.py309 assert "researcher@example.org" in call.kwargs["headers"]["User-Agent"]CODE
LOWtests/utilities/test_citation_normalizer.py79 result = _parse_authors_list(["John Smith", "Jane Doe"])CODE
LOWtests/notes/test_note_service.py4789 db_session, st, "My Self Note", "placeholder", "self-ref-src"CODE
LOWtests/news/test_base_recommender.py4114 user_id = "user@example.com"CODE
LOWtests/news/test_preference_storage.py868 "user_id": "user@example.com",CODE
LOWtests/news/test_preference_storage.py875 result = storage.get_user_preferences("user@example.com")CODE
LOWtests/news/test_preference_storage.py877 assert result["user_id"] == "user@example.com"CODE
LOWtests/news/test_base_card_extended.py879 "people": ["John Doe", "Jane Smith"],CODE
LOWtests/news/test_base_card_extended.py885 assert "John Doe" in card.entities["people"]CODE
LOWtests/llm_providers/test_custom_openai_endpoint.py163 assert call_kwargs["api_key"] == "dummy-key-for-models-list"CODE
LOWtests/llm_providers/test_custom_openai_endpoint.py91 assert call_kwargs["api_key"] == "dummy-key-for-models-list"CODE
LOWtests/llm_providers/test_openai_base_coverage.py108 # dummy-key was passedCOMMENT
LOWtests/llm_providers/test_openai_base_coverage.py6- create_llm() uses 'dummy-key' when api_key_setting is None (local providers)STRING
LOWtests/llm_providers/test_openai_base_coverage.py9- _create_llm_instance() uses dummy-key by defaultSTRING
LOW…lm_providers/implementations/test_lmstudio_provider.py310 """Falls back to parent's dummy-key path when no key is configured."""STRING
LOW…lm_providers/implementations/test_lmstudio_provider.py327 assert call_kwargs["api_key"] == "dummy-key-for-models-list"CODE
LOWtests/hooks/test_check_author_identity.py76 assert not mod._is_noreply("user@example.com")STRING
LOWtests/document_loaders/test_upload_integration.py218 assert "John Doe" in extracted or "name" in extractedSTRING
LOW…_engines/engines/test_search_engine_serper_coverage.py100 "attributes": {"Author": "Jane Doe"},CODE
24 more matches not shown…
AI Structural Patterns63 hits · 54 pts
SeverityFileLineSnippetContext
LOWtests/vector_stores/test_faiss_store.py31CODE
LOWtests/web/routes/test_research_routes_deep_coverage.py48CODE
LOWtests/web/routes/_settings_route_helpers.py27CODE
LOWtests/web/routes/test_settings_routes_deep_coverage2.py56CODE
LOWtests/web/routes/test_context_overflow_coverage.py168CODE
LOWtests/web/routes/test_research_routes_extra_coverage.py50CODE
LOWtests/web/routes/test_context_overflow_logic.py267CODE
LOWtests/web/services/test_settings_manager_extended.py25CODE
LOWtests/web/services/test_settings_manager.py21CODE
LOWtests/news/test_folder_manager_behavior.py18CODE
LOWtests/web_search_engines/engines/test_arxiv_coverage.py36CODE
LOW…s/web_search_engines/engines/test_guardian_coverage.py50CODE
LOW…mples/benchmarks/browsecomp/run_browsecomp_fixed_v2.py81CODE
LOWsrc/local_deep_research/search_system.py74CODE
LOW…search_system/strategies/focused_iteration_strategy.py59CODE
LOW…earch_system/strategies/topic_organization_strategy.py29CODE
LOW…nced_search_system/strategies/source_based_strategy.py65CODE
LOW…d_search_system/strategies/langgraph_agent_strategy.py1427CODE
LOWsrc/local_deep_research/config/llm_config.py54CODE
LOW…earch/research_library/services/library_rag_service.py277CODE
LOW…_research/research_library/services/library_service.py264CODE
LOWsrc/local_deep_research/news/api.py1048CODE
LOW…/local_deep_research/benchmarks/benchmark_functions.py25CODE
LOW…/local_deep_research/benchmarks/benchmark_functions.py112CODE
LOW…/local_deep_research/benchmarks/benchmark_functions.py199CODE
LOWsrc/local_deep_research/benchmarks/runners.py41CODE
LOWsrc/local_deep_research/benchmarks/optimization/api.py15CODE
LOW…p_research/benchmarks/optimization/optuna_optimizer.py1068CODE
LOW…p_research/benchmarks/optimization/optuna_optimizer.py98CODE
LOWsrc/local_deep_research/api/benchmark_functions.py21CODE
LOWsrc/local_deep_research/api/benchmark_functions.py75CODE
LOWsrc/local_deep_research/api/benchmark_functions.py129CODE
LOWsrc/local_deep_research/api/research_functions.py33CODE
LOWsrc/local_deep_research/api/research_functions.py167CODE
LOWsrc/local_deep_research/api/research_functions.py345CODE
LOW…p_research/web_search_engines/search_engine_factory.py662CODE
LOW…deep_research/web_search_engines/search_engine_base.py313CODE
LOW…web_search_engines/engines/search_engine_google_pse.py25CODE
LOW…/web_search_engines/engines/search_engine_scaleserp.py22CODE
LOW…search/web_search_engines/engines/search_engine_ddg.py21CODE
LOW…rch/web_search_engines/engines/search_engine_mojeek.py38CODE
LOW…ch/web_search_engines/engines/search_engine_serpapi.py26CODE
LOW…rch/web_search_engines/engines/search_engine_tavily.py31CODE
LOW…search/web_search_engines/engines/search_engine_exa.py22CODE
LOW…rch/web_search_engines/engines/search_engine_pubmed.py30CODE
LOW…_search_engines/engines/search_engine_stackexchange.py57CODE
LOW…rch/web_search_engines/engines/search_engine_zenodo.py34CODE
LOW…rch/web_search_engines/engines/search_engine_serper.py28CODE
LOW…ch/web_search_engines/engines/search_engine_searxng.py155CODE
LOW…h/web_search_engines/engines/search_engine_guardian.py21CODE
LOW…arch/web_search_engines/engines/search_engine_brave.py29CODE
LOW…arch/web_search_engines/engines/search_engine_arxiv.py26CODE
LOW…h/web_search_engines/engines/search_engine_tinyfish.py28CODE
LOW…eep_research/web_search_engines/engines/full_search.py26CODE
LOW…h/web_search_engines/engines/search_engine_openalex.py26CODE
LOW…rch/web_search_engines/engines/search_engine_github.py32CODE
LOW…h/web_search_engines/engines/search_engine_nasa_ads.py26CODE
LOW…arch/web_search_engines/engines/search_engine_sofya.py48CODE
LOW…/web_search_engines/engines/search_engine_gutenberg.py32CODE
LOW…arch_engines/engines/search_engine_semantic_scholar.py31CODE
3 more matches not shown…
Dead Code10 hits · 17 pts
SeverityFileLineSnippetContext
MEDIUM…ch_library/routes/test_rag_routes_indexing_coverage.py228CODE
MEDIUM…search_library/routes/test_rag_routes_deep_coverage.py1223CODE
MEDIUM…search_library/routes/test_rag_routes_deep_coverage.py1250CODE
MEDIUM…search_library/routes/test_rag_routes_deep_coverage.py1275CODE
MEDIUMtests/web/queue/test_queue_manager.py35CODE
MEDIUMtests/web/routes/test_context_overflow_coverage.py649CODE
MEDIUMtests/web/routes/test_context_overflow_coverage.py873CODE
MEDIUMtests/web/routes/test_context_overflow_api_http.py328CODE
MEDIUMtests/web/routes/test_context_overflow_api_http.py476CODE
MEDIUM…rch_engines/engines/test_embedding_manager_coverage.py345CODE
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtests/test_programmatic_custom_llm_retriever.py76 # Using gemma3n:e4b as requestedCOMMENT
HIGH.github/workflows/release.yml720 # 1. AI-generated narrative (model = vars.AI_MODEL). Fed theCOMMENT
Cross-Language Confusion (JS/TS)2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHtests/ui_tests/test_lib/test_results.js203 print() {CODE
HIGH…cal_deep_research/web/static/js/components/settings.js2788 * @return True if the content is valid.COMMENT
Slop Phrases6 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUM…tation_handlers/test_forced_answer_citation_handler.py90 content = "I cannot provide a specific answer based on the sources."CODE
MEDIUMexamples/optimization/example_quick_optimization.py35 This is just for demonstration purposes.STRING
MEDIUMexamples/optimization/example_quick_optimization.py274 "\nNote: This is a simulation for demonstration purposes only. Real optimization"CODE
MEDIUMexamples/optimization/multi_benchmark_simulation.py176 """Simulates Optuna optimizer for demonstration purposes."""STRING
MEDIUMexamples/optimization/multi_benchmark_simulation.py406 print("\nNote: This is a simulation for demonstration purposes only.")CODE
MEDIUM.github/workflows/codeql.yml61 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize howCOMMENT
Example Usage Blocks5 hits · 8 pts
SeverityFileLineSnippetContext
LOWdocker-compose.gpu.override.yml11# Usage:COMMENT
LOWtests/ui_tests/run_legacy_pkl_migration.sh17# Usage:COMMENT
LOWscripts/dev/restart_server.sh4# Usage:COMMENT
LOW.github/scripts/combine-ai-reviews.sh13# Usage:COMMENT
LOWsrc/local_deep_research/web/routes/route_registry.py360 # Example usageCOMMENT
Overly Generic Function Names4 hits · 5 pts
SeverityFileLineSnippetContext
LOWtests/security/test_env_vars_hook.py120def process_data(data):CODE
LOWtests/utilities/test_thread_context.py221 def my_function():CODE
LOWtests/utilities/test_db_utils.py242 def my_function():CODE
LOWtests/hooks/test_check_weak_tests.py150 "def helper():\n assert True\n",CODE