Repository Analysis

google-ai-edge/gallery

A gallery that showcases on-device ML/GenAI use cases and allows people to try and use models locally.

1.3 Likely human-written View on GitHub
1.3
Adjusted Score
1.3
Raw Score
100%
Time Factor
2026-05-29
Last Push
23,353
Stars
Kotlin
Language
57,902
Lines of Code
314
Files
39
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 3HIGH 0MEDIUM 2LOW 34

Pattern Findings

39 matches across 5 categories. Click a row to expand file-level details.

Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippet
CRITICAL…om/google/ai/edge/gallery/ui/common/ModelPageAppBar.kt201 com.google.ai.edge.litertlm.Capabilities(model.getPath(context)).use {
CRITICAL…oogle/ai/edge/gallery/ui/llmchat/LlmChatModelHelper.kt129 com.google.ai.edge.litertlm.Capabilities(modelPath).use {
CRITICAL…le/ai/edge/gallery/runtime/aicore/AICoreModelHelper.kt306 com.google.mlkit.genai.prompt.ImagePart(images.first()),
Over-Commented Block26 hits · 26 pts
SeverityFileLineSnippet
LOWmodel_allowlists/README.md1# This is a readme file
LOW…c/main/java/com/google/ai/edge/gallery/MainActivity.kt141 }
LOW…om/google/ai/edge/gallery/ui/modelmanager/ModelList.kt401
LOW…/java/com/google/ai/edge/gallery/ui/common/TaskIcon.kt121// @Composable
LOW…va/com/google/ai/edge/gallery/ui/common/ModelPicker.kt161 }
LOW…a/com/google/ai/edge/gallery/ui/common/MarkdownText.kt81
LOW…i/edge/gallery/ui/common/chat/BenchmarkConfigDialog.kt101// fun BenchmarkConfigDialogPreview() {
LOW…ai/edge/gallery/ui/common/chat/MessageBodyBenchmark.kt101 }
LOW…ai/edge/gallery/ui/common/chat/MessageBodyBenchmark.kt121// "stat2" to 0.4f,
LOW…ge/gallery/ui/common/chat/ModelInitializationStatus.kt81 }
LOW…e/gallery/ui/common/chat/MessageBodyPromptTemplates.kt121 }
LOW…e/gallery/ui/common/chat/MessageBodyPromptTemplates.kt141// templates =
LOW…i/edge/gallery/ui/common/chat/TextInputHistorySheet.kt201// @Composable
LOW…oogle/ai/edge/gallery/ui/common/chat/MessageLatency.kt41
LOW…google/ai/edge/gallery/ui/common/chat/MessageSender.kt201// Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp))
LOW…google/ai/edge/gallery/ui/common/chat/MessageSender.kt221// warmupCurrent = 10,
LOW…google/ai/edge/gallery/ui/common/chat/MessageSender.kt241// agentName = stringResource(R.string.chat_generic_agent_name),
LOW…edge/gallery/ui/common/chat/MessageBodyBenchmarkLlm.kt41 DataCard(label = stat.label, unit = stat.unit, value = message.statValues[stat.id])
LOW…edge/gallery/ui/common/chat/MessageBodyBenchmarkLlm.kt61// running = false,
LOW…e/ai/edge/gallery/ui/common/chat/MessageBodyWarning.kt61// fun MessageBodyWarningPreview() {
LOW…/ai/edge/gallery/ui/common/chat/MessageActionButton.kt81// MessageActionButton(label = "run", icon = Icons.Default.PlayArrow, onClick = {})
LOW…ogle/ai/edge/gallery/ui/common/chat/MessageBodyInfo.kt61// GalleryTheme {
LOW…ge/gallery/ui/common/chat/MessageBodyClassification.kt101// message =
LOW…ogle/ai/edge/gallery/ui/common/modelitem/StatusIcon.kt121// ModelDownloadStatus(status = ModelDownloadStatusType.FAILED),
LOW…in/java/com/google/ai/edge/gallery/data/ConfigValue.kt21 // @Serializable
LOW…in/java/com/google/ai/edge/gallery/data/ConfigValue.kt41// override fun serialize(encoder: Encoder, value: ConfigValue) {
Verbosity Indicators8 hits · 12 pts
SeverityFileLineSnippet
LOW…/main/assets/skills/query-wikipedia/scripts/index.html31 // Step 1: Fuzzy search to get the exact title and the clean introduction
LOW…/main/assets/skills/query-wikipedia/scripts/index.html56 // Step 2: Fetch the HTML of Section 0 (the top of the page) to grab the infobox
LOW…/main/assets/skills/query-wikipedia/scripts/index.html96 // Step 3: Combine Infobox and Extract
LOW…/main/assets/skills/query-wikipedia/scripts/index.html107 // Step 4: Apply language-based safety caps
LOWskills/built-in/query-wikipedia/scripts/index.html31 // Step 1: Fuzzy search to get the exact title and the clean introduction
LOWskills/built-in/query-wikipedia/scripts/index.html56 // Step 2: Fetch the HTML of Section 0 (the top of the page) to grab the infobox
LOWskills/built-in/query-wikipedia/scripts/index.html96 // Step 3: Combine Infobox and Extract
LOWskills/built-in/query-wikipedia/scripts/index.html107 // Step 4: Apply language-based safety caps
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUM…e/gallery/customtasks/agentchat/McpManagerViewModel.kt430 // This avoids restricted library visibility constraints while ensuring robust JSON
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippet
MEDIUM.github/workflows/static.yml36 # Create the nested directory structure