Repository Analysis

spring-projects/spring-ai

An Application Framework for AI Engineering

3.2 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of spring-projects/spring-ai, a Java project with 9,130 GitHub stars. SynthScan v2.0 examined 442,489 lines of code across 2545 source files, recording 285 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 3.2 places this repository in the Likely human-written 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).

3.2
Adjusted Score
3.2
Raw Score
100%
Time Factor
2026-07-14
Last Push
9.1K
Stars
Java
Language
442.5K
Lines of Code
2.5K
Files
285
Pattern Hits
2026-07-14
Scan Date
0.05
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 79HIGH 50MEDIUM 75LOW 81

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 285 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.

Hallucination Indicators79 hits · 828 pts
SeverityFileLineSnippetContext
CRITICAL…/toolsearch/ToolSearchToolCallingAdvisorCallTests.java838 new org.springframework.ai.chat.model.ToolContext(Map.of("toolSearchToolSessionId", sessionId)));CODE
CRITICAL…ork/ai/tool/toolsearch/index/VectorToolIndexTests.java67 this.toolIndex = new org.springframework.ai.tool.toolsearch.index.vectorstore.VectorToolIndex(this.vectorStore);CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java99 var message1 = new org.springframework.ai.chat.messages.UserMessage("Hello");CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java100 var message2 = new org.springframework.ai.chat.messages.AssistantMessage("Hi there!");CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java117 history.add(new org.springframework.ai.chat.messages.UserMessage("First message"));CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java119 history.add(new org.springframework.ai.chat.messages.AssistantMessage("Last message"));CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java131 history.add(new org.springframework.ai.chat.messages.UserMessage("Valid message"));CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java141 conversationHistory1.add(new org.springframework.ai.chat.messages.UserMessage("Message 1"));CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java144 conversationHistory2.add(new org.springframework.ai.chat.messages.UserMessage("Message 2"));CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java161 var originalMessage = new org.springframework.ai.chat.messages.UserMessage("Original");CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java167 conversationHistory.add(new org.springframework.ai.chat.messages.AssistantMessage("Added later"));CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java178 conversationHistory.add(new org.springframework.ai.chat.messages.UserMessage("Test message"));CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java196 List<Message> conversationHistory = List.of(new org.springframework.ai.chat.messages.UserMessage("Hello"),CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java197 new org.springframework.ai.chat.messages.UserMessage("Hi!"));CODE
CRITICAL…ork/ai/model/tool/DefaultToolExecutionResultTests.java211 conversationHistory.add(new org.springframework.ai.chat.messages.UserMessage("Test"));CODE
CRITICAL…tation/context/DefaultMcpAsyncRequestContextTests.java220 assertThat(org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL…tation/context/DefaultMcpAsyncRequestContextTests.java227 assertThat(org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL…tation/context/DefaultMcpAsyncRequestContextTests.java234 assertThat(org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class, () -> {CODE
CRITICAL…tation/context/DefaultMcpAsyncRequestContextTests.java242 assertThat(org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class, () -> {CODE
CRITICAL…tation/context/DefaultMcpAsyncRequestContextTests.java500 assertThat(org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL…tation/context/DefaultMcpAsyncRequestContextTests.java504 assertThat(org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL…tation/context/DefaultMcpAsyncRequestContextTests.java645 assertThat(org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL…notation/method/tool/utils/McpJsonSchemaGenerator.java237 return org.springframework.ai.util.json.schema.JsonSchemaGenerator.generateForType(type,CODE
CRITICAL…g/springframework/ai/anthropic/AnthropicChatModel.java1150 var jsonMapper = tools.jackson.databind.json.JsonMapper.builder().build();CODE
CRITICAL…g/springframework/ai/anthropic/AnthropicChatModel.java1222 var jsonMapper = tools.jackson.databind.json.JsonMapper.builder().build();CODE
CRITICAL…g/springframework/ai/anthropic/AnthropicChatModel.java1256 var jsonMapper = tools.jackson.databind.json.JsonMapper.builder().build();CODE
CRITICAL…ingframework/ai/deepseek/DeepSeekChatOptionsTests.java59 org.assertj.core.api.Assertions.assertThat(merged.getTools()).containsExactlyInAnyOrder(baseTool, overrideTool);CODE
CRITICAL…ngframework/ai/google/genai/GoogleGenAiRetryTests.java60 this.chatModel = new org.springframework.ai.google.genai.TestGoogleGenAiGeminiChatModel(this.genAiClient,CODE
CRITICAL…ngframework/ai/google/genai/MimeTypeDetectorTests.java44 return org.springframework.ai.google.genai.MimeTypeDetector.GEMINI_MIME_TYPES.entrySet()CODE
CRITICAL…ramework/ai/google/genai/CreateGeminiRequestTests.java222 .isEqualTo(org.springframework.ai.google.genai.GoogleGenAiChatModel.ChatModel.GEMINI_2_5_FLASH.getValue());CODE
CRITICAL…/genai/cache/GoogleGenAiCachedContentServiceTests.java273 assertThat(cached.getRemainingTtl().toHours()).isCloseTo(1L, org.assertj.core.data.Offset.offset(1L));CODE
CRITICAL…ngframework/ai/ollama/aot/OllamaRuntimeHintsTests.java76 org.assertj.core.api.Assertions.assertThatCode(() -> ollamaRuntimeHints.registerHints(runtimeHints, null))CODE
CRITICAL…rg/springframework/ai/openai/OpenAiChatModelTests.java223 .function(ChatCompletionChunk.Choice.Delta.ToolCall.Function.builder()CODE
CRITICAL…rg/springframework/ai/openai/OpenAiChatModelTests.java241 .function(ChatCompletionChunk.Choice.Delta.ToolCall.Function.builder()CODE
CRITICAL…rg/springframework/ai/openai/OpenAiChatModelTests.java311 .function(ChatCompletionChunk.Choice.Delta.ToolCall.Function.builder()CODE
CRITICAL…rg/springframework/ai/openai/OpenAiChatModelTests.java328 .function(ChatCompletionChunk.Choice.Delta.ToolCall.Function.builder()CODE
CRITICAL…rg/springframework/ai/openai/OpenAiChatModelTests.java785 .function(ChatCompletionChunk.Choice.Delta.ToolCall.Function.builder()STRING
CRITICAL…rg/springframework/ai/openai/OpenAiChatModelTests.java792 .function(ChatCompletionChunk.Choice.Delta.ToolCall.Function.builder()STRING
CRITICAL…ework/ai/openai/chat/OpenAiChatModelNoOpApiKeysIT.java52 .options(org.springframework.ai.openai.OpenAiChatOptions.builder().apiKey(new NoopApiKey()).build())CODE
CRITICAL…mework/ai/openai/chat/OpenAiCompatibleChatModelIT.java58 .options(org.springframework.ai.openai.OpenAiChatOptions.builder()CODE
CRITICAL…mework/ai/openai/chat/OpenAiCompatibleChatModelIT.java68 // .options(org.springframework.ai.openai.OpenAiChatOptions.builder()COMMENT
CRITICAL…mework/ai/openai/chat/OpenAiCompatibleChatModelIT.java78 .options(org.springframework.ai.openai.OpenAiChatOptions.builder()CODE
CRITICAL…k/ai/openai/chat/OpenAiChatModelFunctionCallingIT.java225 .options(org.springframework.ai.openai.OpenAiChatOptions.builder()CODE
CRITICAL…penai/chat/OpenAiChatModelAdditionalHttpHeadersIT.java68 .options(org.springframework.ai.openai.OpenAiChatOptions.builder()CODE
CRITICAL…ngframework/ai/openai/chat/OpenAiChatOptionsTests.java387 return org.springframework.ai.tool.definition.DefaultToolDefinition.builder()CODE
CRITICAL…ngframework/ai/openai/chat/OpenAiChatOptionsTests.java403 return org.springframework.ai.tool.definition.DefaultToolDefinition.builder()CODE
CRITICAL…ngframework/ai/openai/chat/OpenAiChatOptionsTests.java426 return org.springframework.ai.tool.definition.DefaultToolDefinition.builder()CODE
CRITICAL…ramework/ai/openai/chat/client/OpenAiChatClientIT.java144 .options(OpenAiChatOptions.builder().model(com.openai.models.ChatModel.GPT_5_MINI.asString()))CODE
CRITICAL…ramework/ai/openai/chat/client/OpenAiChatClientIT.java341 .options(OpenAiChatOptions.builder().model(com.openai.models.ChatModel.GPT_5_MINI.asString()))CODE
CRITICAL…/ai/openai/chat/client/OpenAiToolCallingAdvisorIT.java42 .options(org.springframework.ai.openai.OpenAiChatOptions.builder()CODE
CRITICAL…client/OpenAIToolCallingAdvisorAutoRegistrationIT.java43 .options(org.springframework.ai.openai.OpenAiChatOptions.builder()CODE
CRITICAL…ework/ai/openai/transformer/MetadataTransformerIT.java165 .options(org.springframework.ai.openai.OpenAiChatOptions.builder()CODE
CRITICAL…g/springframework/ai/openai/OpenAiModerationModel.java72 () -> org.springframework.ai.openai.setup.OpenAiSetup.setupSyncClient(this.options.getBaseUrl(),CODE
CRITICAL…g/springframework/ai/openai/OpenAiModerationModel.java106 builder.model(com.openai.models.moderations.ModerationModel.of(model));CODE
CRITICAL…onfigure/ToolCallbackConverterAutoConfigurationIT.java374 return org.springframework.ai.mcp.SyncMcpToolCallbackProvider.builder()CODE
CRITICAL…StatelessToolCallbackConverterAutoConfigurationIT.java378 return org.springframework.ai.mcp.SyncMcpToolCallbackProvider.builder()CODE
CRITICAL…/autoconfigure/StreamableWebClientWebFluxServerIT.java192 .isEqualTo(net.javacrumbs.jsonunit.assertj.JsonAssertions.json("""STRING
CRITICAL…webflux/autoconfigure/SseWebClientWebFluxServerIT.java184 .isEqualTo(net.javacrumbs.jsonunit.assertj.JsonAssertions.json("""STRING
CRITICAL…x/autoconfigure/StatelessWebClientWebFluxServerIT.java177 .isEqualTo(net.javacrumbs.jsonunit.assertj.JsonAssertions.json("""STRING
CRITICAL…toconfigure/tool/FunctionCallWithPromptFunctionIT.java59 org.springframework.ai.chat.client.advisor.ToolCallingAdvisor.builder()CODE
19 more matches not shown…
Cross-File Repetition30 hits · 150 pts
SeverityFileLineSnippetContext
HIGH…rch/OpenSearchContainerConnectionDetailsFactoryIT.java0{ "properties":{ "embedding":{ "type":"knn_vector", "dimension":384 } } }STRING
HIGH…igure/AwsOpenSearchVectorStoreAutoConfigurationIT.java0{ "properties":{ "embedding":{ "type":"knn_vector", "dimension":384 } } }STRING
HIGH…onfigure/OpenSearchVectorStoreAutoConfigurationIT.java0{ "properties":{ "embedding":{ "type":"knn_vector", "dimension":384 } } }STRING
HIGH…gframework/ai/anthropic/chat/AnthropicChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…/springframework/ai/openai/chat/OpenAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…rk/ai/openai/chat/proxy/GroqWithOpenAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…ai/openai/chat/proxy/MistralWithOpenAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…i/openai/chat/proxy/DeepSeekWithOpenAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…openai/chat/proxy/PerplexityWithOpenAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…/ai/openai/chat/proxy/NvidiaWithOpenAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…chat/proxy/DockerModelRunnerWithOpenAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…gframework/ai/openai/azure/AzureOpenAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…springframework/ai/mistralai/MistralAiChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…ework/ai/bedrock/converse/BedrockProxyChatModelIT.java0generate the filmography of 5 movies for tom hanks. {format}STRING
HIGH…e/genai/tool/GoogleGenAiPaymentTransactionToolsIT.java0what is the status of my payment transactions 001, 002 and 003? if required invoke the function per transaction.STRING
HIGH…/genai/tool/GoogleGenAiPaymentTransactionMethodIT.java0what is the status of my payment transactions 001, 002 and 003? if required invoke the function per transaction.STRING
HIGH…google/genai/tool/GoogleGenAiPaymentTransactionIT.java0what is the status of my payment transactions 001, 002 and 003? if required invoke the function per transaction.STRING
HIGH…/springframework/ai/openai/chat/OpenAiChatModelIT.java0generate the filmography for a random actor. {format}STRING
HIGH…rk/ai/openai/chat/proxy/GroqWithOpenAiChatModelIT.java0generate the filmography for a random actor. {format}STRING
HIGH…chat/proxy/DockerModelRunnerWithOpenAiChatModelIT.java0generate the filmography for a random actor. {format}STRING
HIGH…gframework/ai/openai/azure/AzureOpenAiChatModelIT.java0generate the filmography for a random actor. {format}STRING
HIGH…webflux/autoconfigure/StreamableMcpAnnotations2IT.java0{"result":5.0,"operation":"2 + 3","timestamp":"2024-01-01t10:00:00z"}STRING
HIGH…/autoconfigure/StreamableWebClientWebFluxServerIT.java0{"result":5.0,"operation":"2 + 3","timestamp":"2024-01-01t10:00:00z"}STRING
HIGH…webflux/autoconfigure/SseWebClientWebFluxServerIT.java0{"result":5.0,"operation":"2 + 3","timestamp":"2024-01-01t10:00:00z"}STRING
HIGH…x/autoconfigure/StatelessWebClientWebFluxServerIT.java0{"result":5.0,"operation":"2 + 3","timestamp":"2024-01-01t10:00:00z"}STRING
HIGH…ux/autoconfigure/StreamableMcpAnnotationsManualIT.java0{"result":5.0,"operation":"2 + 3","timestamp":"2024-01-01t10:00:00z"}STRING
HIGH…/webflux/autoconfigure/StreamableMcpAnnotationsIT.java0{"result":5.0,"operation":"2 + 3","timestamp":"2024-01-01t10:00:00z"}STRING
HIGH…/autoconfigure/StreamableWebClientWebFluxServerIT.java0{ "": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {} }STRING
HIGH…webflux/autoconfigure/SseWebClientWebFluxServerIT.java0{ "": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {} }STRING
HIGH…x/autoconfigure/StatelessWebClientWebFluxServerIT.java0{ "": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {} }STRING
Decorative Section Separators24 hits · 93 pts
SeverityFileLineSnippetContext
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml46 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml48 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml53 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml57 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml111 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml118 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml125 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml127 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml134 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml138 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml234 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml238 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml244 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml246 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml252 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml257 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml263 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml265 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml154 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml156 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml172 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml174 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml185 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/rewrite/migrate-to-2-0-0-M3.yaml189 # -------------------------------------------------------------------------COMMENT
AI Slop Vocabulary40 hits · 84 pts
SeverityFileLineSnippetContext
MEDIUMspring-ai-commons/src/test/resources/bikes.json5 "description": "## Overview\r\nIt's right for you if...\r\nYou want to push your limits on challenging trails and teCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json23 "description": "## Overview\nIt's right for you if...\nYou're a competitive road cyclist or an enthusiast who enjoysCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json74 "description": "## Overview\nIt's right for you if...\nYou are a passionate cyclist looking for a bike that can keepCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json74 "description": "## Overview\nIt's right for you if...\nYou are a passionate cyclist looking for a bike that can keepCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json94 "description": "## Overview\nIt's right for you if...\nYou want a bike that is fast, efficient, and delivers an adreCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json147 "description": "## Overview\n\nIt's right for you if...\nYou want an e-bike that provides a boost for faster rides aCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json180 "description": "## Overview\n\nIt's right for you if...\nYou crave the thrill of an e-bike that can accelerate rapidCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json202 "description": "## Overview\nIt's right for you if...\nYou're looking for an e-bike that offers both speed and endurCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json235 "description": "## Overview\nIt's right for you if...\nYou crave speed and want to cover long distances efficiently.CODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json235 "description": "## Overview\nIt's right for you if...\nYou crave speed and want to cover long distances efficiently.CODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json246 "description": "## Overview\nIt's right for you if...\nYou're a competitive cyclist looking for a road bike that offCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json246 "description": "## Overview\nIt's right for you if...\nYou're a competitive cyclist looking for a road bike that offCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json5 "description": "## Overview\r\nIt's right for you if...\r\nYou want to push your limits on challenging trails and teCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json23 "description": "## Overview\nIt's right for you if...\nYou're a competitive road cyclist or an enthusiast who enjoysCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json74 "description": "## Overview\nIt's right for you if...\nYou are a passionate cyclist looking for a bike that can keepCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json74 "description": "## Overview\nIt's right for you if...\nYou are a passionate cyclist looking for a bike that can keepCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json94 "description": "## Overview\nIt's right for you if...\nYou want a bike that is fast, efficient, and delivers an adreCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json147 "description": "## Overview\n\nIt's right for you if...\nYou want an e-bike that provides a boost for faster rides aCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json180 "description": "## Overview\n\nIt's right for you if...\nYou crave the thrill of an e-bike that can accelerate rapidCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json202 "description": "## Overview\nIt's right for you if...\nYou're looking for an e-bike that offers both speed and endurCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json235 "description": "## Overview\nIt's right for you if...\nYou crave speed and want to cover long distances efficiently.CODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json235 "description": "## Overview\nIt's right for you if...\nYou crave speed and want to cover long distances efficiently.CODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json246 "description": "## Overview\nIt's right for you if...\nYou're a competitive cyclist looking for a road bike that offCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json246 "description": "## Overview\nIt's right for you if...\nYou're a competitive cyclist looking for a road bike that offCODE
MEDIUM…springframework/ai/mistralai/MistralAiChatOptions.java106 * {@link ReasoningEffort#HIGH} enables comprehensive reasoning traces,COMMENT
MEDIUM…org/springframework/ai/mistralai/api/MistralAiApi.java796 * {@link ReasoningEffort#HIGH} enables comprehensive reasoning traces,COMMENT
MEDIUM…ingframework/ai/bedrock/converse/api/URLValidator.java60 * {@link #isValidURLStrict(String)} instead for robust validation.COMMENT
MEDIUM…orstore/redis/cache/semantic/DefaultSemanticCache.java229 // Use RedisVectorStore's searchByRange to utilize the VECTOR_RANGE commandCOMMENT
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json5 "description": "## Overview\r\nIt's right for you if...\r\nYou want to push your limits on challenging trails and teCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json23 "description": "## Overview\nIt's right for you if...\nYou're a competitive road cyclist or an enthusiast who enjoysCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json74 "description": "## Overview\nIt's right for you if...\nYou are a passionate cyclist looking for a bike that can keepCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json74 "description": "## Overview\nIt's right for you if...\nYou are a passionate cyclist looking for a bike that can keepCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json94 "description": "## Overview\nIt's right for you if...\nYou want a bike that is fast, efficient, and delivers an adreCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json147 "description": "## Overview\n\nIt's right for you if...\nYou want an e-bike that provides a boost for faster rides aCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json180 "description": "## Overview\n\nIt's right for you if...\nYou crave the thrill of an e-bike that can accelerate rapidCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json202 "description": "## Overview\nIt's right for you if...\nYou're looking for an e-bike that offers both speed and endurCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json235 "description": "## Overview\nIt's right for you if...\nYou crave speed and want to cover long distances efficiently.CODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json235 "description": "## Overview\nIt's right for you if...\nYou crave speed and want to cover long distances efficiently.CODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json246 "description": "## Overview\nIt's right for you if...\nYou're a competitive cyclist looking for a road bike that offCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json246 "description": "## Overview\nIt's right for you if...\nYou're a competitive cyclist looking for a road bike that offCODE
Fake / Example Data67 hits · 72 pts
SeverityFileLineSnippetContext
LOWspring-ai-commons/src/test/resources/person.json52 "name": "John Doe",CODE
LOWspring-ai-commons/src/test/resources/text_source.txt2240   <property name="name" value="John Doe"/>CODE
LOWspring-ai-commons/src/test/resources/text_source.txt2247   p:name="John Doe"CODE
LOWspring-ai-commons/src/test/resources/text_source.txt2252   <property name="name" value="Jane Doe"/>CODE
LOWspring-ai-model/src/test/resources/text_source.txt2240   <property name="name" value="John Doe"/>CODE
LOWspring-ai-model/src/test/resources/text_source.txt2247   p:name="John Doe"CODE
LOWspring-ai-model/src/test/resources/text_source.txt2252   <property name="name" value="Jane Doe"/>CODE
LOW…otation/context/DefaultMcpSyncRequestContextTests.java309 Map<String, Object> addressMap = Map.of("street", "123 Main St", "city", "Springfield");CODE
LOW…otation/context/DefaultMcpSyncRequestContextTests.java327 assertThat(result.structuredContent().address().street()).isEqualTo("123 Main St");CODE
LOW…tation/context/DefaultMcpAsyncRequestContextTests.java295 Map<String, Object> addressMap = Map.of("street", "123 Main St", "city", "Springfield");CODE
LOW…tation/context/DefaultMcpAsyncRequestContextTests.java313 assertThat(structuredResult.structuredContent().address().street()).isEqualTo("123 Main St");CODE
LOW…hod/resource/SyncMcpResourceMethodCallbackExample.java201 janeProfile.put("name", "Jane Doe");CODE
LOW…k/ai/google/genai/schema/JsonSchemaConverterTests.java255 "example": "user@example.com",CODE
LOW…k/ai/google/genai/schema/JsonSchemaConverterTests.java268 assertThat(result.get("example").asString()).isEqualTo("user@example.com");STRING
LOW…ls/spring-ai-openai/src/test/resources/text_source.txt2240   <property name="name" value="John Doe"/>CODE
LOW…ls/spring-ai-openai/src/test/resources/text_source.txt2247   p:name="John Doe"CODE
LOW…ls/spring-ai-openai/src/test/resources/text_source.txt2252   <property name="name" value="Jane Doe"/>CODE
LOW…ring-ai-client-chat/src/test/resources/text_source.txt2240   <property name="name" value="John Doe"/>CODE
LOW…ring-ai-client-chat/src/test/resources/text_source.txt2247   p:name="John Doe"CODE
LOW…ring-ai-client-chat/src/test/resources/text_source.txt2252   <property name="name" value="Jane Doe"/>CODE
LOW…-document-reader/src/test/resources/with-formatting.md3Lorem ipsum dolor sit amet, **consectetur adipiscing elit**. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…-document-reader/src/test/resources/with-formatting.md3Lorem ipsum dolor sit amet, **consectetur adipiscing elit**. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…kdown-document-reader/src/test/resources/blockquote.md1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…kdown-document-reader/src/test/resources/blockquote.md1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…document-reader/src/test/resources/horizontal-rules.md1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida.CODE
LOW…document-reader/src/test/resources/horizontal-rules.md1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida.CODE
LOW…own-document-reader/src/test/resources/only-headers.md3Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…own-document-reader/src/test/resources/only-headers.md3Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…-markdown-document-reader/src/test/resources/simple.md1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…-markdown-document-reader/src/test/resources/simple.md1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…i-markdown-document-reader/src/test/resources/lists.md31. Lorem ipsum dolor sit *amet*, consectetur adipiscing elit. **Curabitur** diam eros, laoreet sit _amet_ cursus vitae,CODE
LOW…eader/src/test/resources/dir-test-2/with-formatting.md3Lorem ipsum dolor sit amet, **consectetur adipiscing elit**. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…eader/src/test/resources/dir-test-2/with-formatting.md3Lorem ipsum dolor sit amet, **consectetur adipiscing elit**. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…t-reader/src/test/resources/dir-test-2/only-headers.md3Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…t-reader/src/test/resources/dir-test-2/only-headers.md3Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…ent-reader/src/test/resources/dir-test-1/blockquote.md1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…ent-reader/src/test/resources/dir-test-1/blockquote.md1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…nt-reader/src/test/resources/dir-test-1/blockquote.txt1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…nt-reader/src/test/resources/dir-test-1/blockquote.txt1Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sedCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java61 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java61 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java65 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java65 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java48 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variuCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java48 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variuCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java83 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variuCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java83 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variuCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java101 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java101 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsanCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java119 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida."),CODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java119 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida."),CODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java147 assertThat(documentsFirst.getText()).startsWith("Lorem ipsum dolor sit amet, consectetur adipiscing elit")CODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java147 assertThat(documentsFirst.getText()).startsWith("Lorem ipsum dolor sit amet, consectetur adipiscing elit")CODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java162 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsan CODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java162 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsan CODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java231 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variuCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java231 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variuCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java251 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variusCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java251 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variusCODE
LOW…ork/ai/reader/markdown/MarkdownDocumentReaderTest.java263 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, variuCODE
7 more matches not shown…
Magic Placeholder Names12 hits · 65 pts
SeverityFileLineSnippetContext
HIGHmodels/spring-ai-anthropic/README.md13 .apiKey("<your-api-key>")CODE
HIGHmodels/spring-ai-anthropic/README.md20export ANTHROPIC_API_KEY=<your-api-key>CODE
HIGH…levenlabs/autoconfigure/ElevenLabsPropertiesTests.java45 "spring.ai.elevenlabs.api-key=YOUR_API_KEY",CODE
HIGH…levenlabs/autoconfigure/ElevenLabsPropertiesTests.java63 assertThat(connectionProperties.getApiKey()).isEqualTo("YOUR_API_KEY");CODE
HIGH…levenlabs/autoconfigure/ElevenLabsPropertiesTests.java81 "spring.ai.elevenlabs.api-key=YOUR_API_KEY",CODE
HIGH…levenlabs/autoconfigure/ElevenLabsPropertiesTests.java127 new ApplicationContextRunner().withPropertyValues("spring.ai.elevenlabs.api-key=YOUR_API_KEY")CODE
HIGH…levenlabs/autoconfigure/ElevenLabsPropertiesTests.java138 .withPropertyValues("spring.ai.elevenlabs.api-key=YOUR_API_KEY", "spring.ai.model.audio.speech=elevenlabs")CODE
HIGH…levenlabs/autoconfigure/ElevenLabsPropertiesTests.java149 .withPropertyValues("spring.ai.elevenlabs.api-key=YOUR_API_KEY", "spring.ai.model.audio.speech=none")CODE
HIGH…ai-autoconfigure-model-google-genai/MIGRATION_GUIDE.md51spring.ai.google.genai.api-key=your-api-keyCODE
HIGH…ai-autoconfigure-model-google-genai/MIGRATION_GUIDE.md106export GOOGLE_API_KEY=your-api-keyCODE
HIGH…ework/ai/vectorstore/pinecone/PineconeVectorStore.java119 * .apiKey("your-api-key")COMMENT
HIGH…ework/ai/vectorstore/pinecone/PineconeVectorStore.java345 * .apiKey("your-api-key")COMMENT
Synthetic Comment Markers8 hits · 60 pts
SeverityFileLineSnippetContext
HIGH…/java/org/springframework/ai/model/ResultMetadata.java22 * generated by AI models. It could include information like computation time, modelCOMMENT
HIGH…ain/java/org/springframework/ai/model/ModelResult.java22 * comprehensive way to handle and interpret the outputs generated by AI models, cateringCOMMENT
HIGH…work/ai/vectorstore/filter/antlr4/FiltersListener.java21// # NOTE: This is ANTLR4 auto-generated code. Do not modify! #COMMENT
HIGH…amework/ai/vectorstore/filter/antlr4/FiltersLexer.java21// # NOTE: This is ANTLR4 auto-generated code. Do not modify! #COMMENT
HIGH…k/ai/vectorstore/filter/antlr4/FiltersBaseVisitor.java21// # NOTE: This is ANTLR4 auto-generated code. Do not modify! #COMMENT
HIGH…mework/ai/vectorstore/filter/antlr4/FiltersParser.java21// # NOTE: This is ANTLR4 auto-generated code. Do not modify! #COMMENT
HIGH…ework/ai/vectorstore/filter/antlr4/FiltersVisitor.java21// # NOTE: This is ANTLR4 auto-generated code. Do not modify! #COMMENT
HIGH…/ai/vectorstore/filter/antlr4/FiltersBaseListener.java21// # NOTE: This is ANTLR4 auto-generated code. Do not modify! #COMMENT
Slop Phrases10 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMspring-ai-commons/src/test/resources/bikes.json202 "description": "## Overview\nIt's right for you if...\nYou're looking for an e-bike that offers both speed and endurCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json213 "description": "## Overview\nIt's right for you if...\nYou want a fast and efficient e-bike that can take you long dCODE
MEDIUMspring-ai-commons/src/test/resources/bikes.json224 "description": "## Overview\nThis bike is ideal for you if:\n- You desire a sleek and modern hydroformed aluminum frCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json202 "description": "## Overview\nIt's right for you if...\nYou're looking for an e-bike that offers both speed and endurCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json213 "description": "## Overview\nIt's right for you if...\nYou want a fast and efficient e-bike that can take you long dCODE
MEDIUM…ring-ai-openai/src/test/resources/data/acme/bikes.json224 "description": "## Overview\nThis bike is ideal for you if:\n- You desire a sleek and modern hydroformed aluminum frCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json202 "description": "## Overview\nIt's right for you if...\nYou're looking for an e-bike that offers both speed and endurCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json213 "description": "## Overview\nIt's right for you if...\nYou want a fast and efficient e-bike that can take you long dCODE
MEDIUMspring-ai-client-chat/src/test/resources/bikes.json224 "description": "## Overview\nThis bike is ideal for you if:\n- You desire a sleek and modern hydroformed aluminum frCODE
MEDIUM…framework/ai/chat/client/advisor/SafeGuardAdvisor.java60 static final String DEFAULT_FAILURE_RESPONSE = "I'm unable to respond to that due to sensitive content. Could we rephraCODE
Structural Annotation Overuse6 hits · 10 pts
SeverityFileLineSnippetContext
LOW…ogle/genai/GoogleGenAiThoughtSignatureLifecycleIT.java207 // Step 1: check_flight("AA100") -> returns "delayed, departure 12 PM"COMMENT
LOW…ogle/genai/GoogleGenAiThoughtSignatureLifecycleIT.java208 // Step 2: book_taxi("10 AM") -> returns "booking confirmed"COMMENT
LOW…rk/ai/ollama/api/tool/OllamaApiToolFunctionCallIT.java61 // Step 1: send the conversation and available functions to the modelCOMMENT
LOW…st/java/org/springframework/ai/openai/acme/AcmeIT.java73 // Step 1 - load documentsCOMMENT
LOW…st/java/org/springframework/ai/openai/acme/AcmeIT.java78 // Step 2 - Create embeddings and save to vector storeCOMMENT
LOW…mistralai/api/tool/MistralAiApiToolFunctionCallIT.java66 // Step 1: send the conversation and available functions to the modelCOMMENT
Verbosity Indicators4 hits · 8 pts
SeverityFileLineSnippetContext
LOW…ogle/genai/GoogleGenAiThoughtSignatureLifecycleIT.java207 // Step 1: check_flight("AA100") -> returns "delayed, departure 12 PM"COMMENT
LOW…ogle/genai/GoogleGenAiThoughtSignatureLifecycleIT.java208 // Step 2: book_taxi("10 AM") -> returns "booking confirmed"COMMENT
LOW…rk/ai/ollama/api/tool/OllamaApiToolFunctionCallIT.java61 // Step 1: send the conversation and available functions to the modelCOMMENT
LOW…mistralai/api/tool/MistralAiApiToolFunctionCallIT.java66 // Step 1: send the conversation and available functions to the modelCOMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md57* Support for [Chat Conversation Memory](https://docs.spring.io/spring-ai/reference/api/chatclient.html#_chat_memory) wiCOMMENT
Over-Commented Block3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…gframework/ai/google/genai/GoogleGenAiChatModelIT.java361COMMENT
LOW…mework/ai/openai/chat/OpenAiCompatibleChatModelIT.java61 .build())COMMENT
LOW…rstore/cassandra/CassandraRichSchemaVectorStoreIT.java301COMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOW.github/workflows/dependency-ci-dashboard.yml72 # Check if there are any in-progress runsCOMMENT