Repository Analysis

langchain-ai/chat-langchain

18.9 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of langchain-ai/chat-langchain, a TypeScript project with 6,404 GitHub stars. SynthScan v2.0 examined 23,117 lines of code across 121 source files, recording 217 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 18.9 places this repository in the Moderate AI signal band.

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

18.9
Adjusted Score
18.9
Raw Score
100%
Time Factor
2026-07-14
Last Push
6.4K
Stars
TypeScript
Language
23.1K
Lines of Code
121
Files
217
Pattern Hits
2026-07-14
Scan Date
0.01
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 0HIGH 1MEDIUM 68LOW 148

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 217 distinct pattern matches across 13 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.

Decorative Section Separators66 hits · 270 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_broken_doc_urls.py21# ------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_broken_doc_urls.py23# -----------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_broken_doc_urls.py43# ------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_broken_doc_urls.py45# ------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_broken_doc_urls.py131# ------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_broken_doc_urls.py133# ------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py58 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py60 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py74 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py76 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py97 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py99 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py117 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py119 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py136 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py138 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py157 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py159 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py174 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py176 # ------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py13# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py44# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_pylon_pagination.py46# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_check_links_async.py59# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_check_links_async.py61# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_check_links_async.py71# ===========================================================================COMMENT
MEDIUMtests/unit/test_check_links_async.py75# ===========================================================================COMMENT
MEDIUMtests/unit/test_check_links_async.py128# ===========================================================================COMMENT
MEDIUMtests/unit/test_check_links_async.py132# ===========================================================================COMMENT
MEDIUMtests/unit/test_check_links_async.py178# ===========================================================================COMMENT
MEDIUMtests/unit/test_check_links_async.py180# ===========================================================================COMMENT
MEDIUMtests/unit/test_check_links_async.py16# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_check_links_async.py19# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py38# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py40# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py64# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py66# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py96# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py98# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py128# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py130# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py144# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py146# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py166# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py168# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py186# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py188# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py212# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py214# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py18# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/evals/test_guardrails_scope.py20# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/tools/pylon_tools.py38# =============================================================================COMMENT
MEDIUMsrc/tools/pylon_tools.py40# =============================================================================COMMENT
MEDIUMsrc/tools/pylon_tools.py125# =============================================================================COMMENT
MEDIUMsrc/tools/pylon_tools.py127# =============================================================================COMMENT
MEDIUMsrc/agent/config.py23# =============================================================================COMMENT
MEDIUMsrc/agent/config.py25# =============================================================================COMMENT
MEDIUMsrc/agent/config.py77# =============================================================================COMMENT
MEDIUMsrc/agent/config.py79# =============================================================================COMMENT
6 more matches not shown…
Hyper-Verbose Identifiers57 hits · 59 pts
SeverityFileLineSnippetContext
LOWfrontend/app/auth/callback/route.ts47function getSupabaseAuthStorageKey(region: AuthRegion): string {CODE
LOWfrontend/lib/auth/supabase.ts114export async function signOutAllSupabaseClients(): Promise<void> {CODE
LOWfrontend/lib/hooks/auth/use-user-id.ts38export function getOrCreateGuestUserId(): string | null {CODE
LOWfrontend/lib/hooks/threads/guest-thread-storage.ts34export function removeStoredGuestThreadId(threadId: string): string[] {CODE
LOWtests/unit/test_broken_doc_urls.py60 def test_url_has_slash_separator(self, path):CODE
LOWtests/unit/test_broken_doc_urls.py71 def test_url_does_not_merge_domain_and_path(self):CODE
LOWtests/unit/test_broken_doc_urls.py81 def test_url_starts_with_base_url_slash(self):CODE
LOWtests/unit/test_broken_doc_urls.py116 def test_leading_slash_path_normalised(self):CODE
LOWtests/unit/test_broken_doc_urls.py139 def test_empty_path_returns_na(self):CODE
LOWtests/unit/test_broken_doc_urls.py155 def test_multiple_results_all_valid_urls(self):CODE
LOWtests/unit/test_broken_doc_urls.py180 def test_no_results_returns_no_results_message(self):CODE
LOWtests/unit/test_broken_doc_urls.py186 def test_real_world_langgraph_streaming_url(self):CODE
LOWtests/unit/test_pylon_pagination.py104 def test_three_pages_collected(self, mock_get, mock_kb_id, mock_api_key):CODE
LOWtests/unit/test_pylon_pagination.py124 def test_meta_next_pagination(self, mock_get, mock_kb_id, mock_api_key):CODE
LOWtests/unit/test_pylon_pagination.py143 def test_safety_limit_stops_at_max_pages(self, mock_get, mock_kb_id, mock_api_key):CODE
LOWtests/unit/test_pylon_pagination.py164 def test_cache_prevents_duplicate_requests(self, mock_get, mock_kb_id, mock_api_key):CODE
LOWtests/unit/test_pylon_pagination.py181 def test_empty_data_returns_empty_list(self, mock_get, mock_kb_id, mock_api_key):CODE
LOWtests/unit/test_ingress_guards_middleware.py19def test_before_agent_truncates_oversized_human_message():CODE
LOWtests/unit/test_ingress_guards_middleware.py32def test_before_agent_noop_when_under_cap():CODE
LOWtests/unit/test_ingress_guards_middleware.py39def test_build_docs_agent_trace_metadata_includes_provenance_and_version(monkeypatch):CODE
LOWtests/unit/test_ingress_guards_middleware.py58def test_build_docs_agent_trace_metadata_falls_back_to_host_revision(monkeypatch):CODE
LOWtests/unit/test_summarization_middleware_wiring.py8def test_summarization_middleware_uses_retrying_fallback_model():CODE
LOWtests/unit/test_guardrails_fallback.py44def test_guardrails_falls_back_after_primary_retries(monkeypatch):CODE
LOWtests/unit/test_guardrails_fallback.py63def test_guardrails_raises_after_all_models_exhaust_retries(monkeypatch):CODE
LOWtests/unit/test_guardrails_fallback.py82def test_guardrails_all_failed_classification_allows_main_agent(monkeypatch):CODE
LOWtests/unit/test_guardrails_fallback.py86 async def _raise_classification_error(messages): # noqa: ARG001CODE
LOWtests/unit/test_check_links_async.py78async def test_check_links_works_in_async_context():CODE
LOWtests/unit/test_check_links_async.py134def test_check_links_works_in_sync_context():CODE
LOWtests/unit/test_check_links_async.py182def test_check_links_empty_list():CODE
LOWtests/unit/test_check_links_async.py190async def test_check_links_async_empty_list():CODE
LOWtests/unit/test_check_links_async.py196def test_check_links_invalid_url_format():CODE
LOWtests/unit/test_check_links_async.py105async def test_check_links_async_context_does_not_raise_runtime_error():CODE
LOWtests/unit/test_check_links_async.py156def test_check_links_sync_deduplicates_urls():CODE
LOWtests/unit/test_check_links_async.py217async def test_check_links_async_invalid_url_format():CODE
LOWtests/unit/test_check_links_async.py248async def test_support_article_normal_content_is_valid():CODE
LOWtests/unit/test_prompt_provenance.py13def test_get_prompt_provenance_local_mode(monkeypatch):CODE
LOWtests/unit/test_prompt_provenance.py24def test_resolve_hub_provenance_uses_prompt_workspace_and_api_key(monkeypatch):CODE
LOWtests/unit/test_prompt_provenance.py61def test_resolve_hub_provenance_without_overrides_uses_default_client(monkeypatch):CODE
LOWtests/evals/test_repeated_searches.py7def test_prompt_instructs_agent_to_avoid_repeat_searches():CODE
LOWtests/evals/test_repeated_searches.py36def test_prompt_has_check_history_before_search_guidance():CODE
LOWtests/evals/test_retry_middleware_wiring.py9def test_retry_middleware_is_in_agent_middleware_list():CODE
LOWtests/evals/test_retry_middleware_wiring.py26def test_retry_middleware_config_is_exported():CODE
LOWtests/evals/test_guardrails_scope.py43def test_guardrails_prompt_mentions_data_science_restriction():CODE
LOWtests/evals/test_guardrails_scope.py69def test_guardrails_prompt_has_data_science_block_criterion():CODE
LOWtests/evals/test_guardrails_scope.py101def test_guardrails_prompt_clarifies_ds_libs_need_langchain_context():CODE
LOWtests/evals/test_guardrails_scope.py133def test_guardrails_prompt_still_allows_langchain_core_topics():CODE
LOWtests/evals/test_guardrails_scope.py149def test_guardrails_prompt_default_is_still_allow():CODE
LOWtests/evals/test_guardrails_scope.py171def test_guardrails_prompt_has_nsfw_block_rule():CODE
LOWtests/evals/test_guardrails_scope.py191def test_guardrails_nsfw_rule_is_zero_tolerance():CODE
LOWtests/evals/test_guardrails_scope.py219def test_agent_prompt_has_nsfw_refusal():CODE
LOWsrc/middleware/guardrails_middleware.py168 async def _generate_rejection_message(self, content) -> AIMessage:CODE
LOWsrc/middleware/guardrails_middleware.py326 def _build_guardrails_content(self, content, context_section: str) -> str | list:CODE
LOWsrc/tools/docs_tools.py185def _track_docs_for_langsmith(urls: list[str]) -> None:CODE
LOWsrc/tools/pylon_tools.py290def get_support_article_content(article_id: str) -> str:CODE
LOWsrc/utils/trace_root_metadata.py18def build_docs_agent_trace_metadata(CODE
LOWsrc/agent/config.py105def _raise_for_retryable_finish_reason(response: object) -> object:CODE
LOWsrc/agent/config.py119def init_retry_fallback_model(model: str) -> Runnable:CODE
Excessive Try-Catch Wrapping26 hits · 26 pts
SeverityFileLineSnippetContext
LOWsrc/middleware/guardrails_middleware.py91 except Exception:CODE
LOWsrc/middleware/guardrails_middleware.py149 except Exception:CODE
LOWsrc/middleware/guardrails_middleware.py165 except Exception as e:CODE
LOWsrc/middleware/guardrails_middleware.py183 except Exception as e:CODE
LOWsrc/middleware/guardrails_middleware.py438 except Exception as e:CODE
LOWsrc/middleware/guardrails_middleware.py478 except Exception:CODE
LOWsrc/middleware/retry_middleware.py71 except Exception as e:CODE
LOWsrc/middleware/summarization_middleware.py36 except Exception as e:CODE
LOWsrc/middleware/summarization_middleware.py56 except Exception as e:CODE
LOWsrc/middleware/tool_retry_middleware.py132 except Exception as error:CODE
LOWsrc/tools/link_check_tools.py46 except Exception:CODE
LOWsrc/tools/link_check_tools.py55 except Exception:CODE
LOWsrc/tools/link_check_tools.py140 except Exception as e:CODE
LOWsrc/tools/pricing_tools.py100 except Exception as e:CODE
LOWsrc/tools/docs_tools.py57 except Exception:CODE
LOWsrc/tools/docs_tools.py148 except Exception:CODE
LOWsrc/tools/docs_tools.py172 except Exception:CODE
LOWsrc/tools/docs_tools.py205 except Exception:CODE
LOWsrc/tools/docs_tools.py302 except Exception as e:CODE
LOWsrc/tools/pylon_tools.py207 except Exception as e:CODE
LOWsrc/tools/pylon_tools.py284 except Exception as e:CODE
LOWsrc/tools/pylon_tools.py315 except Exception:CODE
LOWsrc/tools/pylon_tools.py355 except Exception as e:CODE
LOWsrc/tools/mcp_tools.py26 except Exception as e:CODE
LOWsrc/utils/prompt_provenance.py90 except Exception as exc:CODE
LOWsrc/agent/docs_graph.py65 except Exception:CODE
Modern Structural Boilerplate21 hits · 22 pts
SeverityFileLineSnippetContext
LOWsrc/middleware/guardrails_middleware.py27logger = logging.getLogger(__name__)CODE
LOWsrc/middleware/guardrails_middleware.py482__all__ = ["GuardrailsMiddleware", "GuardrailsClassificationError"]CODE
LOWsrc/middleware/__init__.py8__all__ = [CODE
LOWsrc/middleware/retry_middleware.py13logger = logging.getLogger(__name__)CODE
LOWsrc/middleware/retry_middleware.py97__all__ = ["ModelRetryMiddleware", "MalformedResponseError"]CODE
LOWsrc/middleware/summarization_middleware.py60__all__ = ["CustomSummarizationMiddleware"]CODE
LOWsrc/middleware/tool_retry_middleware.py13logger = logging.getLogger(__name__)CODE
LOWsrc/middleware/tool_retry_middleware.py175__all__ = ["ToolRetryMiddleware"]CODE
LOWsrc/middleware/ingress_guards_middleware.py75__all__ = ["IngressGuardsMiddleware", "MAX_MESSAGE_CHARS"]CODE
LOWsrc/tools/link_check_tools.py12logger = logging.getLogger(__name__)CODE
LOWsrc/tools/pricing_tools.py11logger = logging.getLogger(__name__)CODE
LOWsrc/tools/docs_tools.py18logger = logging.getLogger(__name__)CODE
LOWsrc/tools/redis.py9logger = logging.getLogger(__name__)CODE
LOWsrc/tools/pylon_tools.py16logger = logging.getLogger(__name__)CODE
LOWsrc/tools/mcp_tools.py8logger = logging.getLogger(__name__)CODE
LOWsrc/utils/__init__.py4__all__ = ["build_trace_metadata"]CODE
LOWsrc/utils/prompt_provenance.py7logger = logging.getLogger(__name__)CODE
LOWsrc/utils/trace_root_metadata.py35__all__ = ["build_docs_agent_trace_metadata"]CODE
LOWsrc/agent/config.py21logger = logging.getLogger(__name__)CODE
LOWsrc/agent/config.py142__all__ = [CODE
LOWsrc/agent/docs_graph.py32logger = logging.getLogger(__name__)CODE
Unused Imports17 hits · 14 pts
SeverityFileLineSnippetContext
LOWidentity.py17CODE
LOWtests/unit/test_pylon_pagination.py7CODE
LOWtests/unit/test_pylon_pagination.py8CODE
LOWtests/unit/test_pylon_pagination.py10CODE
LOWtests/unit/test_ingress_guards_middleware.py3CODE
LOWtests/unit/test_check_links_async.py12CODE
LOWtests/unit/test_check_links_async.py12CODE
LOWtests/unit/test_check_links_async.py21CODE
LOWtests/unit/test_check_links_async.py21CODE
LOWtests/unit/test_prompt_provenance.py3CODE
LOWsrc/middleware/__init__.py3CODE
LOWsrc/middleware/__init__.py4CODE
LOWsrc/middleware/__init__.py5CODE
LOWsrc/middleware/__init__.py6CODE
LOWsrc/middleware/ingress_guards_middleware.py15CODE
LOWsrc/utils/__init__.py2CODE
LOWsrc/utils/trace_root_metadata.py9CODE
Structural Annotation Overuse6 hits · 10 pts
SeverityFileLineSnippetContext
LOWinstructions.md247### Step 0: Route Pricing QuestionsCOMMENT
LOWinstructions.md251### Step 1: Research Documentation and Support KBCOMMENT
LOWinstructions.md289### Step 2: Synthesize and RespondCOMMENT
LOWsrc/prompts/docs_agent_prompt.py248### Step 0: Route Pricing QuestionsCOMMENT
LOWsrc/prompts/docs_agent_prompt.py252### Step 1: Research Documentation and Support KBCOMMENT
LOWsrc/prompts/docs_agent_prompt.py290### Step 2: Synthesize and RespondCOMMENT
Fake / Example Data8 hits · 8 pts
SeverityFileLineSnippetContext
LOWfrontend/lib/hooks/auth/use-client-profile.ts62 * updateClientProfile({ name: "John Doe" })COMMENT
LOWtests/unit/test_pylon_pagination.py62 @patch("src.tools.pylon_tools._get_api_key", return_value="fake-key")CODE
LOWtests/unit/test_pylon_pagination.py78 @patch("src.tools.pylon_tools._get_api_key", return_value="fake-key")CODE
LOWtests/unit/test_pylon_pagination.py101 @patch("src.tools.pylon_tools._get_api_key", return_value="fake-key")CODE
LOWtests/unit/test_pylon_pagination.py121 @patch("src.tools.pylon_tools._get_api_key", return_value="fake-key")CODE
LOWtests/unit/test_pylon_pagination.py140 @patch("src.tools.pylon_tools._get_api_key", return_value="fake-key")CODE
LOWtests/unit/test_pylon_pagination.py161 @patch("src.tools.pylon_tools._get_api_key", return_value="fake-key")CODE
LOWtests/unit/test_pylon_pagination.py178 @patch("src.tools.pylon_tools._get_api_key", return_value="fake-key")CODE
Deep Nesting7 hits · 7 pts
SeverityFileLineSnippetContext
LOWsrc/middleware/guardrails_middleware.py260CODE
LOWsrc/middleware/guardrails_middleware.py370CODE
LOWsrc/middleware/retry_middleware.py44CODE
LOWsrc/tools/link_check_tools.py72CODE
LOWsrc/tools/redis.py91CODE
LOWsrc/tools/pylon_tools.py131CODE
LOWsrc/tools/pylon_tools.py290CODE
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMsrc/middleware/guardrails_middleware.py29# Dataset configuration for guardrails evaluationCOMMENT
MEDIUMsrc/prompts/guardrails_prompts.py1# Prompt templates for guardrails classification and rejection responses.COMMENT
Verbosity Indicators3 hits · 6 pts
SeverityFileLineSnippetContext
LOWsrc/prompts/docs_agent_prompt.py248### Step 0: Route Pricing QuestionsCOMMENT
LOWsrc/prompts/docs_agent_prompt.py252### Step 1: Research Documentation and Support KBCOMMENT
LOWsrc/prompts/docs_agent_prompt.py290### Step 2: Synthesize and RespondCOMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHsrc/prompts/docs_agent_prompt.py2You are an expert LangChain customer service agent. ## Your Mission Answer customer questions about LangChain, LangGraSTRING
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOW.github/workflows/deploy-production.yml1# Manually deploy the Managed Deep Agent to a LangSmith production deployment.COMMENT
LOWsrc/agent/__init__.py1# Agent module exports (empty to avoid circular imports)COMMENT
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/utils/trace_metadata.py22CODE