Repository Analysis

Azure-Samples/azure-search-openai-demo

A sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.

18.1 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of Azure-Samples/azure-search-openai-demo, a Python project with 7,705 GitHub stars. SynthScan v2.0 examined 58,379 lines of code across 462 source files, recording 739 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 18.1 places this repository in the Moderate AI signal band.

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

18.1
Adjusted Score
18.1
Raw Score
100%
Time Factor
2026-07-13
Last Push
7.7K
Stars
Python
Language
58.4K
Lines of Code
462
Files
739
Pattern Hits
2026-07-14
Scan Date
0.03
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

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

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 11HIGH 4MEDIUM 103LOW 621

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 739 distinct pattern matches across 19 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 Identifiers478 hits · 458 pts
SeverityFileLineSnippetContext
LOWevals/generate_ground_truth.py55def generate_ground_truth_ragas(num_questions=200, num_search_documents=None, kg_file=None):CODE
LOWevals/eval_compare.py124def paired_permutation_p_value(deltas: list[float], iterations: int, seed: int) -> float:CODE
LOWevals/evaltools/eval/evaluate_metrics/base_metric.py19 def get_aggregate_stats_for_numeric_rating(cls, df, rating_column_name):CODE
LOWevals/tests/test_review_utils.py29def test_summarize_results_single_run(tmp_path):CODE
LOWevals/tests/test_review_utils.py51def test_summarize_results_drops_unshared_metrics(tmp_path):CODE
LOWevals/tests/test_review_utils.py81def test_summarize_results_missing_stat_uses_placeholder(tmp_path):CODE
LOWevals/tests/test_review_utils.py116def test_summarize_results_drops_metric_without_recognized_stat(tmp_path):CODE
LOWevals/tests/test_review_utils.py141def test_diff_directories_no_filter(tmp_path):CODE
LOWevals/tests/test_review_utils.py152def test_diff_directories_changed_filters_equal(tmp_path):CODE
LOWevals/tests/test_review_utils.py175def test_diff_directories_changed_uses_isclose(tmp_path):CODE
LOWevals/tests/test_review_utils.py185def test_diff_directories_changed_skips_missing_and_none(tmp_path):CODE
LOWevals/tests/test_review_utils.py216def test_diff_markdown_escapes_html(tmp_path):CODE
LOWevals/tests/test_review_utils.py242def test_diff_markdown_includes_metric_rows(tmp_path):CODE
LOWevals/tests/test_review_utils.py265def test_diff_markdown_handles_non_numeric_metric_in_later_run(tmp_path):CODE
LOWevals/tests/test_review_utils.py290def test_summary_markdown_highlights_run(tmp_path):CODE
LOWevals/tests/test_review_utils.py311def test_summary_markdown_unknown_highlight_run_raises(tmp_path):CODE
LOWevals/tests/test_evaluate.py37def test_send_question_to_target_valid(monkeypatch):CODE
LOWevals/tests/test_evaluate.py49def test_send_question_to_target_missing_error_stored(monkeypatch):CODE
LOWevals/tests/test_evaluate.py59def test_send_question_to_target_missing_all_raises(monkeypatch):CODE
LOWevals/tests/test_evaluate.py67def test_send_question_to_target_missing_context_raises(monkeypatch):CODE
LOWevals/tests/test_evaluate.py75def test_send_question_to_target_invalid_json_raises(monkeypatch):CODE
LOWevals/tests/test_evaluate.py87def test_send_question_to_target_dict_context(monkeypatch):CODE
LOWevals/tests/test_evaluate.py98def test_send_question_to_target_http_error_raises(monkeypatch):CODE
LOWevals/tests/test_evaluate.py111def test_send_question_to_target_http_error_stored(monkeypatch):CODE
LOWevals/tests/test_evaluate_metrics.py60def test_citations_matched_with_page_anchors():CODE
LOWevals/tests/test_evaluate_metrics.py68def test_citations_matched_none():CODE
LOWevals/tests/test_evaluate_metrics.py87def test_latency_all_requests_failed():CODE
LOWevals/tests/test_evaluate_metrics.py109def test_builtin_groundedness():CODE
LOWevals/tests/test_evaluate_metrics.py133def test_builtin_metrics_use_supplied_credential(monkeypatch):CODE
LOWevals/tests/test_evaluate_metrics.py166def test_builtin_rating_missing_values():CODE
LOW…omponents/SupportingContent/SupportingContentParser.ts8export function parseSupportingContentItem(item: string): ParsedSupportingContentItem {CODE
LOWapp/backend/setup_cloud_ingestion.py29async def setup_cloud_ingestion_strategy(CODE
LOWapp/backend/prepdocs.py37async def check_search_service_connectivity(search_service: str) -> bool:CODE
LOWapp/backend/approaches/approach.py897 async def compute_multimodal_embedding(self, q: str):CODE
LOWapp/backend/approaches/approach.py903 def get_system_prompt_variables(self, override_prompt: Optional[str]) -> dict[str, str]:CODE
LOWapp/backend/approaches/approach.py926 def get_lowest_reasoning_effort(self, model: str) -> ReasoningEffort:CODE
LOWapp/backend/approaches/approach.py932 def get_reasoning_effort_options(model: str) -> list[str]:CODE
LOWapp/backend/approaches/approach.py985 def format_thought_step_for_chatcompletion(CODE
LOWapp/backend/approaches/chatreadretrieveread.py102 def extract_followup_questions(self, content: Optional[str]):CODE
LOWapp/backend/approaches/chatreadretrieveread.py424 async def run_agentic_retrieval_approach(CODE
LOWapp/backend/approaches/chatreadretrieveread.py482 def _select_knowledgebase_client(CODE
LOWapp/backend/core/authentication.py77 def get_auth_setup_for_client(self) -> dict[str, Any]:CODE
LOWapp/backend/core/authentication.py142 async def get_auth_claims_if_enabled(self, headers: dict) -> dict[str, Any]:CODE
LOWapp/backend/prepdocslib/textprocessor.py14def combine_text_with_figures(page: "Page") -> None:CODE
LOWapp/backend/prepdocslib/strategy.py44 def create_search_index_client(self) -> SearchIndexClient:CODE
LOWapp/backend/prepdocslib/strategy.py47 def create_search_indexer_client(self) -> SearchIndexerClient:CODE
LOWapp/backend/prepdocslib/servicesetup.py141def setup_image_embeddings_service(CODE
LOWapp/backend/prepdocslib/servicesetup.py318def select_processor_for_filename(file_name: str, file_processors: dict[str, FileProcessor]) -> FileProcessor:CODE
LOWapp/backend/prepdocslib/embeddings.py196 async def create_embedding_for_image(self, image_bytes: bytes) -> list[float]:CODE
LOWapp/backend/prepdocslib/embeddings.py214 async def create_embedding_for_text(self, q: str):CODE
LOWapp/backend/prepdocslib/blobmanager.py35 def sourcepage_from_file_page(cls, filename, page=0) -> str:CODE
LOWapp/backend/prepdocslib/blobmanager.py208 def _get_image_directory_path(self, document_filename: str, user_oid: str, page_num: Optional[int] = None) -> str:CODE
LOWapp/backend/prepdocslib/blobmanager.py418 def get_managedidentity_connectionstring(self):CODE
LOWapp/backend/prepdocslib/figureprocessor.py84 def mark_content_understanding_ready(self) -> None:CODE
LOWapp/backend/prepdocslib/textsplitter.py292 def _should_cross_page_overlap(self, prev: Chunk, nxt: Chunk) -> bool:CODE
LOWapp/backend/chat_history/cosmosdb.py81async def get_chat_history_sessions(auth_claims: dict[str, Any]):CODE
LOWapp/backend/chat_history/cosmosdb.py174async def delete_chat_history_session(auth_claims: dict[str, Any], session_id: str):CODE
LOWapp/functions/text_processor/function_app.py48def configure_global_settings():CODE
LOWapp/functions/document_extractor/function_app.py48def configure_global_settings():CODE
LOWapp/functions/document_extractor/function_app.py343def build_document_components(CODE
418 more matches not shown…
Modern AI Meta-Vocabulary45 hits · 135 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md20# RAG chat app with Azure OpenAI and Azure AI Search (Python)COMMENT
MEDIUMAGENTS.md85## Adding a new setting to "Developer Settings" in RAG appCOMMENT
MEDIUMapp/frontend/src/components/AnalysisPanel/AgentPlan.tsx174 // Extract effort from first agentic reasoning stepCOMMENT
MEDIUMapp/frontend/src/pages/chat/Chat.tsx380 // Preserve streaming preference when agentic retrieval forces streaming off.COMMENT
MEDIUMapp/backend/approaches/approach.py68 ref_id: Optional[str] = None # Reference id from agentic retrieval (if applicable)CODE
MEDIUMapp/backend/approaches/approach.py441 # STEP 1: Invoke agentic retrievalCOMMENT
MEDIUMapp/backend/approaches/chatreadretrieveread.py160 # Handle non-streaming Response (e.g. when agentic retrieval already provided an answer)COMMENT
MEDIUMapp/backend/approaches/chatreadretrieveread.py244 # If agentic retrieval already provided an answer, skip final call to LLMCOMMENT
MEDIUMtests/e2e.py700 # Verify that agentic retrieval option is visibleCOMMENT
MEDIUMtests/e2e.py758 # Non-streaming agentic snapshot whose query_plan carries the execution stepsCOMMENT
MEDIUMtests/test_searchmanager.py1065 # Provide a SearchInfo configured for agentic retrieval and image searchCOMMENT
MEDIUMtests/test_searchmanager.py1144 # Provide a SearchInfo configured for agentic retrievalCOMMENT
MEDIUMdocs/reasoning.md1# RAG chat: Using reasoning modelsCOMMENT
MEDIUMdocs/textsplitter.md1# RAG Chat: Text splitting algorithm overviewCOMMENT
MEDIUMdocs/login_and_acl.md20# RAG chat: Setting up optional login and document level access controlCOMMENT
MEDIUMdocs/safety_evaluation.md1# Evaluating RAG answer safetyCOMMENT
MEDIUMdocs/architecture.md1# RAG Chat: Application ArchitectureCOMMENT
MEDIUMdocs/deploy_lowcost.md1# RAG chat: Deploying with minimal costsCOMMENT
MEDIUMdocs/azd.md1# RAG chat: Deploying with the Azure Developer CLICOMMENT
MEDIUMdocs/customization.md1# RAG chat: Customizing the chat appCOMMENT
MEDIUMdocs/agentic_retrieval.md1# RAG chat: Using agentic retrievalCOMMENT
MEDIUMdocs/agentic_retrieval.md1# RAG chat: Using agentic retrievalCOMMENT
MEDIUMdocs/agentic_retrieval.md3This repository includes an optional feature that uses [agentic retrieval from Azure AI Search](https://learn.microsoft.CODE
MEDIUMdocs/agentic_retrieval.md27 You can only change it to one of the [supported models](https://learn.microsoft.com/azure/search/search-agentic-retriCODE
MEDIUMdocs/agentic_retrieval.md53 > ⚠️ The Microsoft Data Protection Addendum doesn't apply to data sent to Web Knowledge Source. [Learn more in the WeCODE
MEDIUMdocs/deploy_troubleshooting.md1# RAG chat: Troubleshooting deploymentCOMMENT
MEDIUMdocs/deploy_freetrial.md1# RAG chat: Deploying with a free trial accountCOMMENT
MEDIUMdocs/deploy_private.md20# RAG chat: Deploying with private accessCOMMENT
MEDIUMdocs/azure_app_service.md1# RAG chat: Deploying on Azure App ServiceCOMMENT
MEDIUMdocs/appservice.md1# RAG chat: Debugging the app on App ServiceCOMMENT
MEDIUMdocs/localdev.md1# RAG chat: Local development of chat appCOMMENT
MEDIUMdocs/deploy_features.md1# RAG chat: Enabling optional featuresCOMMENT
MEDIUMdocs/deploy_features.md105## Using agentic retrievalCOMMENT
MEDIUMdocs/azure_container_apps.md1# RAG chat: Deploying on Azure Container AppsCOMMENT
MEDIUMdocs/other_samples.md1# RAG chat: Alternative RAG chat samplesCOMMENT
MEDIUMdocs/sharing_environments.md1# RAG chat: Sharing deployment environmentsCOMMENT
MEDIUMdocs/http_protocol.md1# RAG Chat: HTTP ProtocolCOMMENT
MEDIUMdocs/http_protocol.md85## HTTP responses from RAG chat app endpointsCOMMENT
MEDIUMdocs/monitoring.md1# RAG chat: Monitoring with Application InsightsCOMMENT
MEDIUMdocs/deploy_existing.md2# RAG chat: Deploying with existing Azure resourcesCOMMENT
MEDIUMdocs/productionizing.md1# RAG chat: Productionizing the appCOMMENT
MEDIUMdocs/multimodal.md1# RAG chat: Support for multimodal documentsCOMMENT
MEDIUMdocs/data_ingestion.md1# RAG chat: Data ingestionCOMMENT
MEDIUMdocs/evaluation.md1# Evaluating the RAG answer qualityCOMMENT
MEDIUMdocs/evaluation.md118## Evaluate multimodal RAG answersCOMMENT
Self-Referential Comments38 hits · 130 pts
SeverityFileLineSnippetContext
MEDIUMapp/backend/setup_cloud_ingestion.py119 # Create a list file strategy for uploading files from the data folderCOMMENT
MEDIUMapp/backend/setup_cloud_ingestion.py122 # Create the cloud ingestion strategyCOMMENT
MEDIUMapp/backend/app.py184 # Create a BytesIO object from the bytesCOMMENT
MEDIUMapp/backend/prepdocslib/csvparser.py31 # Create a CSV reader from the text contentCOMMENT
MEDIUMapp/backend/prepdocslib/integratedvectorizerstrategy.py182 # Create an indexerCOMMENT
MEDIUMapp/backend/prepdocslib/searchmanager.py173 # Create the AI Vision vectorizer for image embeddingsCOMMENT
MEDIUMapp/functions/text_processor/function_app.py237 # Create a lightweight File wrapper required by process_textCOMMENT
MEDIUMtests/test_mediadescriber.py176 # Create a mock OpenAI responseCOMMENT
MEDIUMtests/test_mediadescriber.py207 # Create the describer with the mock clientCOMMENT
MEDIUMtests/test_mediadescriber.py277 # Create the describerCOMMENT
MEDIUMtests/test_prepdocslib_filestrategy.py26 # Create a mock fileCOMMENT
MEDIUMtests/test_prepdocslib_filestrategy.py30 # Create a mock processorCOMMENT
MEDIUMtests/test_prepdocslib_filestrategy.py34 # Create a page with an imageCOMMENT
MEDIUMtests/test_embeddings.py46 # Create a text that exceeds the 8100 token limitCOMMENT
MEDIUMtests/test_prepdocs.py167 # Create the ImageEmbeddings instanceCOMMENT
MEDIUMtests/test_authenticationhelper.py49 # Create a payload with necessary claimsCOMMENT
MEDIUMtests/test_authenticationhelper.py66 # Create a headerCOMMENT
MEDIUMtests/test_authenticationhelper.py69 # Create a mock private key (for signing)COMMENT
MEDIUMtests/test_authenticationhelper.py72 # Create the JWTCOMMENT
MEDIUMtests/test_upload.py18 # Create a mock class for DataLakeDirectoryClient that includes the _client attributeCOMMENT
MEDIUMtests/test_upload.py93 # Create a mock class for DataLakeDirectoryClient that includes the _client attributeCOMMENT
MEDIUMtests/test_chatapproach.py272 # Create a mock for the ImageEmbeddings.create_embedding_for_text methodCOMMENT
MEDIUMtests/test_chatapproach.py279 # Create a mock ImageEmbeddings instance and set it on the chat_approachCOMMENT
MEDIUMtests/test_chatapproach.py297 # Create a chat approach without an image_embeddings_clientCOMMENT
MEDIUMtests/test_cosmosdb_migration.py110 # Create the migrator with our mocksCOMMENT
MEDIUMtests/test_cosmosdb_migration.py180 # Create a mock for the CosmosDBMigratorCOMMENT
MEDIUMtests/test_blob_manager.py186 # Create a blob manager with an image containerCOMMENT
MEDIUMtests/test_blob_manager.py197 # Create a test file and image bytesCOMMENT
MEDIUMtests/test_blob_manager.py200 # Create a simple 1x1 transparent PNG imageCOMMENT
MEDIUMtests/test_searchmanager.py200 # Create a simple mock embeddings object with just the properties we need for index creationCOMMENT
MEDIUMtests/test_searchmanager.py918 # Create a SearchInfo with an Azure Vision endpointCOMMENT
MEDIUMtests/test_searchmanager.py926 # Create a SearchManager with search_images=TrueCOMMENT
MEDIUMtests/test_searchmanager.py968 # Create a SearchManager with search_images=True but no Azure Vision endpointCOMMENT
MEDIUMtests/test_searchmanager.py998 # Create a SearchInfo with an Azure Vision endpointCOMMENT
MEDIUMtests/test_searchmanager.py1032 # Create a SearchManager with both search_images and embeddingsCOMMENT
MEDIUMtests/test_pdfparser.py631 # Create a processor with an invalid strategy by patching the enumCOMMENT
MEDIUMscripts/manageacl.py231 # Create a session when paging through results to ensure consistency in multi-replica servicesCOMMENT
MEDIUMscripts/auth_init.py44 # Create a service principalCOMMENT
Hallucination Indicators11 hits · 110 pts
SeverityFileLineSnippetContext
CRITICALapp/backend/error.py4from azure.core.exceptions import HttpResponseErrorCODE
CRITICALapp/backend/prepdocslib/pdfparser.py19from azure.core.exceptions import HttpResponseErrorCODE
CRITICALapp/backend/prepdocslib/blobmanager.py10from azure.core.exceptions import ResourceNotFoundErrorCODE
CRITICALapp/functions/document_extractor/function_app.py15from azure.core.exceptions import HttpResponseErrorCODE
CRITICALtests/test_content_file.py6from azure.core.exceptions import ResourceNotFoundErrorCODE
CRITICALtests/test_blob_manager.py51 return azure.storage.blob.aio.BlobClient.from_blob_url(CODE
CRITICALtests/test_blob_manager.py100 return azure.storage.blob.aio.BlobClient.from_blob_url(CODE
CRITICALtests/test_blob_manager.py159 return azure.storage.blob.aio.BlobClient.from_blob_url(CODE
CRITICALtests/test_blob_manager.py223 return azure.storage.blob.aio.BlobClient.from_blob_url(CODE
CRITICALtests/test_blob_manager.py341 from azure.core.exceptions import ResourceNotFoundErrorCODE
CRITICALtests/test_pdfparser.py23from azure.core.exceptions import HttpResponseErrorCODE
Excessive Try-Catch Wrapping43 hits · 50 pts
SeverityFileLineSnippetContext
LOWevals/evaltools/eval/evaluate.py69 except Exception:CODE
LOWevals/evaltools/eval/evaluate.py80 except Exception as e:CODE
LOWevals/evaltools/eval/evaluate.py138 except Exception as e:CODE
LOWapp/backend/app.py207 except Exception as error:CODE
LOWapp/backend/app.py237 except Exception as error:CODE
LOWapp/backend/app.py269 except Exception as error:CODE
LOWapp/backend/app.py350 except Exception as e:CODE
LOWapp/backend/app.py370 except Exception as error:CODE
LOWapp/backend/prepdocs.py45 except Exception as e:CODE
LOWapp/backend/prepdocs.py351 except Exception as e:CODE
LOWapp/backend/decorators.py29 except Exception as error:CODE
LOWapp/backend/approaches/chatreadretrieveread.py111 except Exception:CODE
LOWapp/backend/core/authentication.py174 except Exception:CODE
LOWapp/backend/core/authentication.py282 except Exception as exc:CODE
LOWapp/backend/prepdocslib/pdfparser.py74 except Exception:CODE
LOWapp/backend/prepdocslib/page.py46 except Exception as exc: # pragma: no cover - defensiveCODE
LOWapp/backend/prepdocslib/page.py54 except Exception:CODE
LOWapp/backend/prepdocslib/blobmanager.py312 except Exception as e:CODE
LOWapp/backend/prepdocslib/figureprocessor.py143 except Exception: # pragma: no cover - embedding failures shouldn't abort figure processingCODE
LOWapp/backend/chat_history/cosmosdb.py75 except Exception as error:CODE
LOWapp/backend/chat_history/cosmosdb.py128 except Exception as error:CODE
LOWapp/backend/chat_history/cosmosdb.py168 except Exception as error:CODE
LOWapp/backend/chat_history/cosmosdb.py201 except Exception as error:CODE
LOWapp/functions/text_processor/function_app.py160 except Exception as exc: # pragma: no cover - defensive loggingCODE
LOWapp/functions/text_processor/function_app.py227 except Exception as exc:CODE
LOWapp/functions/document_extractor/function_app.py192 except Exception as e:CODE
LOWapp/functions/document_extractor/function_app.py205 except Exception as e:CODE
LOWapp/functions/document_extractor/function_app.py336 except Exception as e:CODE
LOWapp/functions/figure_processor/function_app.py173 except Exception as exc: # pragma: no cover - defensiveCODE
LOWtests/e2e.py109 except Exception as e:CODE
MEDIUMtests/e2e.py110 print(f"Error in test_chat handler (defaults validation): {e}")CODE
LOWtests/e2e.py264 except Exception as e:CODE
MEDIUMtests/e2e.py265 print(f"Error in test_chat_customization handler: {e}")CODE
LOWtests/e2e.py332 except Exception as e:CODE
MEDIUMtests/e2e.py333 print(f"Error in handle_chat: {e}")CODE
LOWtests/e2e.py452 except Exception as e:CODE
MEDIUMtests/e2e.py453 print(f"Error in test_chat_followup_streaming handler: {e}")CODE
LOWtests/e2e.py649 except Exception as e:CODE
MEDIUMtests/e2e.py650 print(f"Error in test_chat_customization handler: {e}")CODE
LOWtests/test_authenticationhelper.py380 except Exception as e:CODE
LOWtests/test_authenticationhelper.py387 except Exception as e:CODE
LOWscripts/cosmosdb_migration.py71 except Exception:CODE
LOWscripts/cosmosdb_migration.py75 except Exception:CODE
AI Slop Vocabulary14 hits · 31 pts
SeverityFileLineSnippetContext
MEDIUMtests/mocks.py263 "content": 'advanced data\nanalytics to present a clear picture of the complex interplay betweenCODE
MEDIUMtests/test-data/pages_with_figures.json10 "text": "## Executive Summary\n\n. In this comprehensive report, Contoso Financial Analytics provides a\ndeep dive iCODE
MEDIUMtests/test-data/pages_with_figures.json15 "text": "## Introduction to Financial Markets\n\n\n<figure><figcaption>Global Financial Market Distribution (2023)<bCODE
MEDIUMtests/test-data/pages_with_figures.json30 "text": "### Commodity Market Fluctuations\n\n\n<figure><figcaption>Price Changes of Oil, Gold, and Wheat<br>This isCODE
MEDIUMtests/test-data/pages_with_figures.json50 "text": "## Conclusions\n\n. In conclusion, this report has traversed the multifaceted landscape of\nfinancial markeCODE
MEDIUMtests/test-data/pages_with_figures.json50 "text": "## Conclusions\n\n. In conclusion, this report has traversed the multifaceted landscape of\nfinancial markeCODE
MEDIUM…napshots/test_app/test_chat_vision/client0/result.json15 "Financial Market Analysis Report 2023.pdf#page=7: This section examines the correlations between stockCODE
MEDIUM…napshots/test_app/test_chat_vision/client0/result.json16 "Financial Market Analysis Report 2023.pdf#page=8: </figcaption></figure> Macroeconomic factors such aCODE
MEDIUM…napshots/test_app/test_chat_vision/client0/result.json17 "Financial Market Analysis Report 2023.pdf#page=2: advanced data analytics to present a clear picture ofCODE
MEDIUM…napshots/test_app/test_chat_vision/client0/result.json104 "content": "advanced data\nanalytics to present a clear picture of the complex interplay betweenCODE
MEDIUM…napshots/test_app/test_chat_vision/client0/result.json139 "text": "Are interest rates high?\n\n\nSources:\n\nFinancial Market Analysis Report 2023CODE
MEDIUM…/pages_with_figures.json/split_pages_with_figures.json7 "text": "## Executive Summary\n\n. In this comprehensive report, Contoso Financial Analytics provides a\ndeep dive iCODE
MEDIUM…/pages_with_figures.json/split_pages_with_figures.json67 "text": "## Conclusions\n\n. In conclusion, this report has traversed the multifaceted landscape of\nfinancial markeCODE
MEDIUM…/pages_with_figures.json/split_pages_with_figures.json67 "text": "## Conclusions\n\n. In conclusion, this report has traversed the multifaceted landscape of\nfinancial markeCODE
Fake / Example Data29 hits · 30 pts
SeverityFileLineSnippetContext
LOWapp/frontend/src/locales/pl/translation.json41 "placeholder": "Wpisz nowe pytanie (np. czy mój plan obejmuje coroczne badania wzroku?)"CODE
LOWapp/frontend/src/locales/pl/translation.json48 "placeholder": "Przykład: Czy mój plan obejmuje coroczne badania wzroku?"CODE
LOWapp/frontend/src/locales/da/translation.json41 "placeholder": "Skriv et nyt spørgsmål (f.eks. dækker min plan årlige øjenundersøgelser?)"CODE
LOWapp/frontend/src/locales/da/translation.json48 "placeholder": "Eksempel: Dækker min plan årlige øjenundersøgelser?"CODE
LOWapp/frontend/src/locales/ja/translation.json41 "placeholder": "新しい質問を入力してください (例:私の契約プランは年1回の眼科検診もカバーしていますか?)"CODE
LOWapp/frontend/src/locales/ja/translation.json48 "placeholder": "例:私の契約プランは年1回の眼科検診もカバーしていますか?"CODE
LOWapp/frontend/src/locales/it/translation.json41 "placeholder": "Digita una nuova domanda (es. il mio piano copre gli esami oculistici annuali?)"CODE
LOWapp/frontend/src/locales/it/translation.json48 "placeholder": "Esempio: Il mio piano copre gli esami oculistici annuali?"CODE
LOWapp/frontend/src/locales/ptBR/translation.json41 "placeholder": "Digite uma nova pergunta (por exemplo: Meu plano cobre exames oftalmológicos anuais?)"CODE
LOWapp/frontend/src/locales/ptBR/translation.json48 "placeholder": "Exemplo: Meu plano cobre exames oftalmológicos anuais?"CODE
LOWapp/frontend/src/locales/nl/translation.json41 "placeholder": "Typ een nieuwe vraag (bijv. dekt mijn pakket jaarlijkse oogonderzoeken?)"CODE
LOWapp/frontend/src/locales/nl/translation.json48 "placeholder": "Voorbeeld: dekt mijn pakket jaarlijkse oogonderzoeken?"CODE
LOWapp/frontend/src/locales/fr/translation.json41 "placeholder": "Tapez une nouvelle question (par exemple, mon plan couvre-t-il les examens oculaires annuels?)"CODE
LOWapp/frontend/src/locales/fr/translation.json48 "placeholder": "Exemple: Mon plan couvre-t-il les examens oculaires annuels?"CODE
LOWapp/frontend/src/locales/es/translation.json41 "placeholder": "Escribe una nueva pregunta (por ejemplo, ¿mi plan cubre exámenes anuales de la vista?)"CODE
LOWapp/frontend/src/locales/es/translation.json48 "placeholder": "Ejemplo: ¿Mi plan cubre exámenes anuales de la vista?"CODE
LOWapp/frontend/src/locales/en/translation.json41 "placeholder": "Type a new question (e.g. does my plan cover annual eye exams?)"CODE
LOWapp/frontend/src/locales/en/translation.json48 "placeholder": "Example: Does my plan cover annual eye exams?"CODE
LOWapp/frontend/src/locales/tr/translation.json41 "placeholder": "Yeni bir soru yazın (ör. planım yıllık göz muayenelerini kapsıyor mu?)"CODE
LOWapp/frontend/src/locales/tr/translation.json48 "placeholder": "Örnek: Planım yıllık göz muayenelerini kapsıyor mu?"CODE
LOWapp/backend/prepdocslib/page.py66 placeholder = data.get("placeholder")CODE
LOWapp/backend/prepdocslib/cloudingestionstrategy.py206 InputFieldMappingEntry(name="placeholder", source="/document/figures/*/placeholder"),CODE
LOWapp/backend/prepdocslib/cloudingestionstrategy.py236 InputFieldMappingEntry(name="placeholder", source="/document/figures/*/placeholder"),CODE
LOWapp/functions/document_extractor/function_app.py153 "placeholder": "<figure id=\"fig1\"></figure>"STRING
LOWtests/test_prepdocs.py165 mock_token_provider = AsyncMock(return_value="fake_token")CODE
LOWtests/test_servicesetup.py147 "prepdocslib.servicesetup.get_bearer_token_provider", lambda *args, **kwargs: lambda: "fake_token"CODE
LOWtests/test_authenticationhelper.py57 "name": "John Doe",CODE
LOWtests/test_chatapproach.py631 ({"access_token": "fake-token"}, True),CODE
LOWtests/test_pdfparser.py602 credential=AzureKeyCredential("fake_key"),CODE
Deep Nesting24 hits · 23 pts
SeverityFileLineSnippetContext
LOWevals/evaltools/review/diff_markdown.py14CODE
LOWevals/evaltools/review/utils.py7CODE
LOWevals/evaltools/eval/evaluate.py23CODE
LOWevals/evaltools/eval/evaluate.py222CODE
LOWapp/backend/approaches/approach.py428CODE
LOWapp/backend/approaches/approach.py714CODE
LOWapp/backend/core/authentication.py118CODE
LOWapp/backend/prepdocslib/pdfparser.py65CODE
LOWapp/backend/prepdocslib/textprocessor.py14CODE
LOWapp/backend/prepdocslib/embeddings.py74CODE
LOWapp/backend/prepdocslib/textsplitter.py311CODE
LOWapp/backend/prepdocslib/textsplitter.py380CODE
LOWapp/backend/prepdocslib/searchmanager.py98CODE
LOWapp/functions/document_extractor/function_app.py267CODE
LOWtests/conftest.py143CODE
LOWtests/conftest.py215CODE
LOWtests/test_mediadescriber.py21CODE
LOWtests/test_mediadescriber.py45CODE
LOWtests/test_manageacl.py367CODE
LOWtests/mocks.py374CODE
LOWtests/mocks.py386CODE
LOWscripts/manageacl.py69CODE
LOWscripts/adlsgen2setup.py58CODE
LOWscripts/manage_indexer.py22CODE
Over-Commented Block23 hits · 22 pts
SeverityFileLineSnippetContext
LOWapp/frontend/vite.config.ts1/// <reference types="node" />COMMENT
LOWapp/backend/requirements.txt1# This file was autogenerated by uv via the following command:COMMENT
LOWapp/backend/requirements.txt21async-timeout==5.0.1COMMENT
LOWapp/backend/requirements.txt41 # msrestCOMMENT
LOWapp/backend/requirements.txt61 # -r requirements.inCOMMENT
LOWapp/backend/requirements.txt81click==8.4.2COMMENT
LOWapp/backend/requirements.txt101 # taskgroupCOMMENT
LOWapp/backend/requirements.txt121 # via httpxCOMMENT
LOWapp/backend/requirements.txt141 # azure-ai-documentintelligenceCOMMENT
LOWapp/backend/requirements.txt161 # flaskCOMMENT
LOWapp/backend/requirements.txt181 # via msgraph-sdkCOMMENT
LOWapp/backend/requirements.txt201multidict==6.7.0COMMENT
LOWapp/backend/requirements.txt221 # opentelemetry-instrumentation-fastapiCOMMENT
LOWapp/backend/requirements.txt241 # opentelemetry-instrumentation-openaiCOMMENT
LOWapp/backend/requirements.txt261opentelemetry-instrumentation-httpx==0.60b0COMMENT
LOWapp/backend/requirements.txt281 # azure-monitor-opentelemetryCOMMENT
LOWapp/backend/requirements.txt301 # opentelemetry-instrumentation-wsgiCOMMENT
LOWapp/backend/requirements.txt321pillow==12.2.0COMMENT
LOWapp/backend/requirements.txt341 # -r requirements.inCOMMENT
LOWapp/backend/requirements.txt361 # msrestCOMMENT
LOWapp/backend/requirements.txt381 # via -r requirements.inCOMMENT
LOWapp/backend/requirements.txt401 # azure-cosmosCOMMENT
LOWapp/backend/requirements.txt421 # uvicornCOMMENT
Redundant / Tautological Comments11 hits · 19 pts
SeverityFileLineSnippetContext
LOWevals/evaltools/eval/evaluate_metrics/__init__.py36 # Check if the metric name is already registeredCOMMENT
LOW.azdo/pipelines/azure-dev.yml2# Set this to the mainline branch you are usingCOMMENT
LOWapp/backend/setup_cloud_ingestion.py152 # Check if cloud ingestion is enabledCOMMENT
LOWapp/backend/core/authentication.py98 # Set this to "true" if you are having issues on IE11 or EdgeCOMMENT
LOWapp/backend/prepdocslib/csvparser.py24 # Check if content is in bytes (binary file) and decode to stringCOMMENT
LOWapp/functions/document_extractor/function_app.py307 # Check if "other" has read permission - this means global accessCOMMENT
LOWtests/conftest.py246 # Check if system prompt asks for followup questionsCOMMENT
LOWscripts/load-balance-aca-setup.sh19# Check if resourceGroupName is emptyCOMMENT
LOWscripts/load-balance-aca-setup.sh25# Check if containerAppName is emptyCOMMENT
LOWscripts/load-balance-aca-setup.sh34# Check if fqdn is emptyCOMMENT
LOW.github/workflows/azure-dev.yml7 # Set this to the mainline branch you are usingCOMMENT
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHapp/backend/prepdocslib/servicesetup.py319Select the appropriate file processor for a given filename. Args: file_name: Name of the file to process STRING
HIGHapp/backend/prepdocslib/blobmanager.py469 Downloads a blob from Azure Blob Storage. Args: blob_path: The path to the blob in the stoSTRING
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHdata/Zava_Company_Overview.md3*Disclaimer: This content is generated by AI and may not accurately represent factual information about any real entity.COMMENT
Verbosity Indicators3 hits · 7 pts
SeverityFileLineSnippetContext
LOWapp/backend/prepdocslib/textprocessor.py37 # Step 1: Combine text with figures on each pageCOMMENT
LOWapp/backend/prepdocslib/textprocessor.py41 # Step 2: Split combined text into chunksCOMMENT
LOWapp/backend/prepdocslib/textprocessor.py45 # Step 3: Add images back to each section based on page numberCOMMENT
Structural Annotation Overuse3 hits · 7 pts
SeverityFileLineSnippetContext
LOWapp/backend/prepdocslib/textprocessor.py37 # Step 1: Combine text with figures on each pageCOMMENT
LOWapp/backend/prepdocslib/textprocessor.py41 # Step 2: Split combined text into chunksCOMMENT
LOWapp/backend/prepdocslib/textprocessor.py45 # Step 3: Add images back to each section based on page numberCOMMENT
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHtests/e2e.py212 jsonl = '{"type": "response.context", "context": {"data_points": {"text": []}, "thoughts": []}, "session_state":CODE
AI Structural Patterns4 hits · 4 pts
SeverityFileLineSnippetContext
LOWapp/backend/prepdocs.py62CODE
LOWapp/backend/approaches/chatreadretrieveread.py38CODE
LOWapp/backend/prepdocslib/filestrategy.py58CODE
LOWapp/backend/prepdocslib/searchmanager.py73CODE
Modern Structural Boilerplate4 hits · 4 pts
SeverityFileLineSnippetContext
LOWapp/backend/approaches/approach.py164 def update_token_usage(self, usage: CompletionUsage | ResponseUsage) -> None:CODE
LOWapp/functions/text_processor/function_app.py32logger = logging.getLogger(__name__)CODE
LOWapp/functions/document_extractor/function_app.py30logger = logging.getLogger(__name__)CODE
LOWapp/functions/figure_processor/function_app.py36logger = logging.getLogger(__name__)CODE
Unused Imports4 hits · 4 pts
SeverityFileLineSnippetContext
LOWapp/backend/prepdocslib/textprocessor.py6CODE
LOWapp/backend/prepdocslib/textprocessor.py7CODE
LOWapp/backend/prepdocslib/textprocessor.py9CODE
LOWapp/backend/prepdocslib/figureprocessor.py17CODE
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_function_apps.py278CODE