AI Slop Code Risk Monitor

Nagi-ovo/gemini-voyager

SlopCodeMonitor badge for Nagi-ovo/gemini-voyager Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Enhancement suite for Gemini, AI Studio, Claude, ChatGPT & DeepSeek — plus a prompt manager for any website, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude、ChatGPT 与 DeepSeek 的增强套件;其中的提示词管理器可用于任意网站,如 DeepSeek Harness。

2.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for Nagi-ovo/gemini-voyager, a TypeScript project with 20,511 GitHub stars. SynthScan examined 739,193 lines of code across 5189 source files, recording 1140 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 2.2 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

2.2
Adjusted Signal
2.2
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
20.5K
Stars
TypeScript
Language
739.2K
Lines of Code
5.2K
Files
1.1K
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 7.2/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 1049 finding(s).

Hallucinated Dependency & Supply Chain Risk 2.8/100 · LOW

Are imports declared and package/API names verified? 63 finding(s).

Agent Over-Engineering Ratio 7.4/100 · LOW

Are wrappers, guards, and repeated structures necessary? 1045 finding(s).

PR Review Velocity Impact 10.0/100 · LOW

Which changes need focused human review? 1140 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 36HIGH 8MEDIUM 29LOW 1067

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1140 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers1017 hits · 1046 pts
SeverityFileLineSnippetContext
LOWcustom-vite-plugins.ts181export function selfContainedContentScripts(entries: readonly string[]): PluginOption {CODE
LOWpublic/response-complete-observer.js55 function isGeminiGenerationRequest(url, bodyText) {CODE
LOWpublic/prevent-auto-scroll.js84 function handlePossibleRouteChange() {CODE
LOWpublic/prevent-auto-scroll.js271 function collectVerticalScrollPositions(target) {CODE
LOWpublic/prevent-auto-scroll.js285 function restoreVerticalScrollPositions(positions) {CODE
LOWscripts/dev-build-assets.ts26export function readViteManifestAssetPaths(manifestPath: string): Set<string> {CODE
LOWscripts/dev-build-assets.ts54export function shouldPruneDevBuildAssets(CODE
LOWscripts/__tests__/buildPluginCatalogFixtures.ts122export function makePackagedFixtureCatalog(gemini: Record<string, unknown> = {}): string {CODE
LOWscripts/lib/pluginChecks.ts91export function checkPrimitivesAreShippable(CODE
LOWscripts/lib/siteKnowledge.ts15export function isSiteKnowledgeSourceFile(file: string): boolean {CODE
LOWscripts/lib/pluginEngineRelease.ts148export function unreleasedPluginEngineIssues(root: string): string[] {CODE
LOWscripts/lib/pluginEngineRelease.ts161export function preparePluginEngineRelease(root: string): PluginEngineReleasePlan {CODE
LOWscripts/lib/selectorImportOwners.ts140export function selectorPatternImportOwner(file: string, site: string): boolean {CODE
LOWscripts/lib/primitiveContractsSeam.ts32export function renderContractModulesSource(verbsDir = VERBS_DIR): string {CODE
LOWscripts/lib/primitiveContractsSeam.ts47export function installPrimitiveContractsSeam(): void {CODE
LOWscripts/lib/buildSiteLocators.ts12export function readPublishedSiteLocators(catalogDir: string, siteId: string) {CODE
LOWscripts/lib/siteFragmentOwnership.ts90export function inspectSiteFragmentOwnership(root: string): LocatorViolation[] {CODE
LOWscripts/lib/locatorLiterals.ts184function insensitiveAttributePattern(value: string): RegExp | null {CODE
LOWscripts/lib/buildPluginCatalog.ts227function assertPublishableSemanticKeys(host: string, site: CatalogSite): void {CODE
LOWscripts/lib/buildPluginCatalog.ts242function assertPublishableRouteWords(host: string, site: CatalogSite): void {CODE
LOWpackages/bridge-protocol/src/validate/ops.ts446export function validateWaitReplyProgress(raw: unknown): Validation<WaitReplyProgress> {CODE
LOWpackages/create-voyager-plugin/src/bundledSites.ts30export function requireBundledSiteAdapter(id: string): SiteAdapter {CODE
LOWsrc/core/types/highlight.ts68export function normalizeHighlightColorPalette(CODE
LOWsrc/core/types/highlight.ts349export function isHighlightConversationUrl(value: string, platform: HighlightPlatform): boolean {CODE
LOWsrc/core/types/keyboardShortcut.ts46export function keyboardShortcutFromEvent({CODE
LOWsrc/core/types/keyboardShortcut.ts134export function keyboardShortcutBindingsEqual(a: KeyboardShortcut, b: KeyboardShortcut): boolean {CODE
LOWsrc/core/types/keyboardShortcut.ts149export function findKeyboardShortcutConflict(CODE
LOWsrc/core/types/keyboardShortcut.ts186export function isRestorableKeyboardShortcutStorage(value: unknown): boolean {CODE
LOWsrc/core/types/keyboardShortcut.ts228export function normalizeKeyboardShortcutConfig(CODE
LOWsrc/core/gemini/turnSelectors.ts41export function getBundledGeminiTurnSelectors(key: GeminiTurnSelectorKey): string[] {CODE
LOWsrc/core/gemini/turnSelectors.ts53export function getGeminiUserTurnObserverScope(selector: string): GeminiUserTurnObserverScope {CODE
LOWsrc/core/gemini/turnOwnership.ts5export function isOriginalGeminiTranscriptElement(element: Element): boolean {CODE
LOWsrc/core/gemini/turnIntegrity.ts30export function stripGeminiTurnNonContent(root: HTMLElement): void {CODE
LOWsrc/core/gemini/turnIntegrity.ts60export function acceptsGeminiTurnCollection(CODE
LOWsrc/core/gemini/domBoundary.ts70export function hasGeminiBoundaryConflict(CODE
LOWsrc/core/gemini/sidebarTitles.ts9export function readGeminiActiveSidebarTitle(CODE
LOWsrc/core/gemini/sidebarTitles.ts30export function readCorroboratedGeminiTitle(CODE
LOWsrc/core/gemini/nativeHealth.ts129export function buildNativeHealthIssueUrl(CODE
LOWsrc/core/gemini/sidebar/titleProof.ts15export function currentGeminiSidebarTitle(doc: Document): string | null {CODE
LOWsrc/core/gemini/sidebar/queries.ts20export function readGeminiSidebarElements(CODE
LOWsrc/core/gemini/sidebar/queries.ts41export function closestGeminiSidebarElement(CODE
LOWsrc/core/gemini/sidebar/queries.ts62export function packagedGeminiSidebarRoot(): HTMLElement | null {CODE
LOWsrc/core/gemini/sidebar/proof.ts35export function isOriginalGeminiSidebarNode(element: Element): boolean {CODE
LOWsrc/core/gemini/sidebar/proof.ts98export function acceptsGeminiSidebarElement(CODE
LOWsrc/core/gemini/sidebar/proof.ts116export function acceptsGeminiSidebarScroller(CODE
LOWsrc/core/gemini/sidebar/actions.ts33export function isProvenGeminiSidebarToggle(button: Element): button is HTMLButtonElement {CODE
LOWsrc/core/gemini/sidebar/actions.ts50export function remoteGeminiSidebarToggle(doc: Document = document): HTMLButtonElement | null {CODE
LOWsrc/core/gemini/sidebar/actions.ts91export function remoteGeminiActionsContainer(row: HTMLElement): HTMLElement | null {CODE
LOWsrc/core/gemini/composer/ownedInput.ts13export function findOwnedGeminiMainInputs(doc: Document): HTMLElement[] {CODE
LOWsrc/core/gemini/composer/native.ts13export function isNativeComposerElementVisible(element: HTMLElement): boolean {CODE
LOWsrc/core/gemini/content/reads.ts50export function preservesGeminiContentFrames(candidate: Element, host: Element): boolean {CODE
LOWsrc/core/gemini/content/reads.ts75export function bundledGeminiAnswerElement(host: HTMLElement): HTMLElement {CODE
LOWsrc/core/gemini/content/reads.ts83export function resolveGeminiAnswerElement(CODE
LOWsrc/core/gemini/content/reads.ts184export function acceptsGeminiContentCollection(CODE
LOWsrc/core/gemini/content/reads.ts211export function acceptsGeminiContextImages(host: HTMLElement, view: GeminiSelectorView): boolean {CODE
LOWsrc/core/gemini/content/conversation.ts42export function resolveGeminiConversationRoot(CODE
LOWsrc/core/gemini/math/userLatex.ts56export function resolveGeminiUserLatexLines(CODE
LOWsrc/core/gemini/selectors/validation.ts19export function isGeminiSelectorProfileKey(key: string): key is GeminiSelectorProfileKey {CODE
LOWsrc/core/gemini/selectors/validation.ts23export function readGeminiSelectorProfiles(value: unknown): GeminiSelectorPatch | null {CODE
LOWsrc/core/gemini/selectors/service.ts22export function initializeGeminiSelectors(CODE
957 more matches not shown…
Hallucination Indicators36 hits · 360 pts
SeverityFileLineSnippetContext
CRITICAL…pages/background/__tests__/cloudStableIdentity.test.ts338 expect(result.data.folders.data.folders.map((folder) => folder.id).sort()).toEqual([CODE
CRITICALsrc/pages/popup/__tests__/Popup.test.tsx58 extensionApi.storage.local.get.mock.calls.filter(CODE
CRITICALsrc/pages/popup/__tests__/Popup.test.tsx67 extensionApi.storage.sync.get.mock.calls.filter(CODE
CRITICALsrc/pages/popup/__tests__/Popup.test.tsx194 const messageTypes = extensionApi.runtime.sendMessage.mock.calls.map(CODE
CRITICALsrc/pages/popup/__tests__/Popup.test.tsx338 const bulkReads = extensionApi.storage.sync.get.mock.calls.filter(CODE
CRITICALsrc/pages/popup/__tests__/Popup.pluginSites.test.tsx265 const requestedLocalKeys = extensionApi.storage.local.get.mock.calls.flatMap(([keys]) =>CODE
CRITICALsrc/pages/popup/__tests__/Popup.pluginSites.test.tsx269 const messageTypes = extensionApi.runtime.sendMessage.mock.calls.map(CODE
CRITICAL…ialPlugins/__tests__/OfficialPluginList.popup.test.tsx214 extensionApi.storage.local.set.mock.calls.some(([updates]) =>CODE
CRITICAL…Plugins/__tests__/OfficialPluginOptions.popup.test.tsx81 extensionApi.storage.local.set.mock.calls.some(([updates]) =>CODE
CRITICAL…Plugins/__tests__/OfficialPluginOptions.popup.test.tsx137 expect(extensionApi.storage.sync.set.mock.calls.map(([payload]) => payload)).toEqual([CODE
CRITICAL…Plugins/__tests__/OfficialPluginOptions.popup.test.tsx189 extensionApi.storage.sync.set.mock.calls.some(([payload]) =>CODE
CRITICAL…Plugins/__tests__/OfficialPluginOptions.popup.test.tsx329 expect(extensionApi.storage.sync.set.mock.calls.map(([payload]) => payload)).toEqual([CODE
CRITICAL…/pages/popup/officialPlugins/__tests__/popupHarness.ts109 extensionApi.storage.onChanged.removeListener.mock.calls.map(([listener]) => listener),CODE
CRITICAL…_/OfficialPluginOptions.gemsEffectsSync.popup.test.tsx79 extensionApi.storage.local.set.mock.calls.some(([updates]) =>CODE
CRITICAL…_/OfficialPluginOptions.gemsEffectsSync.popup.test.tsx203 expect(extensionApi.storage.sync.set.mock.calls.map(([payload]) => payload)).toEqual([CODE
CRITICAL…_/OfficialPluginOptions.gemsEffectsSync.popup.test.tsx298 extensionApi.tabs.sendMessage.mock.calls.filter(([, message]) => isSyncRequest(message));CODE
CRITICAL…fficialPlugins/__tests__/PluginSiteRows.popup.test.tsx129 const listeners = extensionApi.permissions.onAdded.addListener.mock.calls.map(CODE
CRITICAL…s/__tests__/OfficialPluginList.controls.popup.test.tsx85 extensionApi.storage.local.set.mock.calls.some(([updates]) =>CODE
CRITICAL…s/__tests__/OfficialPluginList.controls.popup.test.tsx303 expect(extensionApi.storage.sync.set.mock.calls.map(([payload]) => payload)).toEqual([CODE
CRITICAL…alPlugins/__tests__/OfficialPluginCards.popup.test.tsx211 expect(extensionApi.storage.sync.set.mock.calls.map(([payload]) => payload)).toEqual([CODE
CRITICALsrc/pages/panel/__tests__/PanelApp.storage.test.tsx40 extensionApi.storage.sync.set.mock.calls.filter(([updates]) =>CODE
CRITICALsrc/pages/panel/__tests__/PanelApp.sites.test.tsx47 extensionApi.runtime.sendMessage.mock.calls.map(CODE
CRITICALsrc/pages/panel/__tests__/PanelApp.sync.test.tsx179 const status = extensionApi.runtime.sendMessage.mock.calls.findIndex(CODE
CRITICAL…es/content/folder/__tests__/folderActivityView.test.ts289 harness.store.data.folderContents.copy.find((c) => c.conversationId === 'imported-7f3a');CODE
CRITICAL…es/content/folder/__tests__/folderActivityView.test.ts296 harness.store.data.folderContents.copy = harness.store.data.folderContents.copy.map((c) =>CODE
CRITICAL…es/content/folder/__tests__/aistudioFolderSync.test.ts42 return mockBrowser.storage.local.get.mock.calls.filter(([keys]) => keys === key).length;CODE
CRITICAL…es/content/folder/__tests__/aistudioFolderSync.test.ts215 mockBrowser.storage.local.set.mock.calls.filter(([values]) => GLOBAL_KEY in values).length;CODE
CRITICAL…/aistudioPersistenceCharacterization.migration.test.ts105 const writtenKeys = mockBrowser.storage.local.set.mock.calls.map(([values]) =>CODE
CRITICAL…ages/content/folder/__tests__/observerBatching.test.ts172 owners.store.data.folderContents.f1.map(({ conversationId }) => conversationId),CODE
CRITICAL…ages/content/folder/__tests__/observerBatching.test.ts188 owners.store.data.folderContents.f1.map((conversation) => conversation.conversationId),CODE
CRITICAL…content/folder/__tests__/folderRuntimeMessages.test.ts88 const call = mockBrowser.runtime.onMessage.addListener.mock.calls.at(-1);CODE
CRITICAL…content/folder/__tests__/folderRuntimeMessages.test.ts182 const settingsListener = mockBrowser.storage.onChanged.addListener.mock.calls.at(-1)![0];CODE
CRITICAL…content/folder/__tests__/folderRuntimeMessages.test.ts183 const messageListener = mockBrowser.runtime.onMessage.addListener.mock.calls.at(-1)![0];CODE
CRITICAL…gTree/__tests__/characterization.aistudioStore.test.ts97 return mockBrowser.storage.local.set.mock.calls.filter(([values]) =>CODE
CRITICAL…c/pages/content/visualEffects/__tests__/sakura.test.ts393 const staleDrainMessage = channel.port1.postMessage.mock.calls.at(-1)?.[0] as {CODE
CRITICAL…c/pages/content/visualEffects/__tests__/sakura.test.ts406 const latestDrainMessage = channel.port1.postMessage.mock.calls.at(-1)?.[0] as {CODE
Decorative Section Separators28 hits · 84 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/release.yml12# -------------------------COMMENT
MEDIUM.github/workflows/security.yml38 # ── Dependency Review ──────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/security.yml58 # ── Bun Audit ──────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml19 # ── Change detection ──────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml89 # ── Format (oxfmt) ───────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml113 # ── Lint (oxlint) ────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml129 # ── TypeScript ─────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml146 # ── Tests ──────────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml163 # ── Plugin catalog check ──────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml184 # ── Native Swift Tests + Xcode Build ─────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml217 # ── Build (all browsers) ──────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml237 # ── Docs build ────────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml258 # ── i18n consistency ──────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml271 # ── PR size label ─────────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/ci.yml308 # ── Summary (required-check anchor) ───────────────────────────────────COMMENT
MEDIUMsrc/pages/content/sidebarAutoHide/hoverIntent.ts215 // ─── Mouse Event Handlers ──────────────────────────────────────────────COMMENT
MEDIUMsrc/pages/content/sidebarAutoHide/controller.ts125 // ─── Sidebar Toggle ────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pages/content/sidebarAutoHide/controller.ts209 // ─── Shared Infrastructure ─────────────────────────────────────────────COMMENT
MEDIUMsrc/pages/content/export/canvasContent.ts44 // ── Document Canvas (immersive-editor .ProseMirror) ────────────────COMMENT
MEDIUMsrc/pages/content/export/canvasContent.ts158 // ── Public API ─────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pages/content/export/canvasContent.ts176 // ── Detection helpers ──────────────────────────────────────────────COMMENT
MEDIUM…es/content/export/__tests__/canvasDocExtractor.test.ts17 // ── isAnyCanvasOpen ────────────────────────────────────────────COMMENT
MEDIUM…es/content/export/__tests__/canvasDocExtractor.test.ts35 // ── assistantHasCanvasDoc ──────────────────────────────────────COMMENT
MEDIUM…es/content/export/__tests__/canvasDocExtractor.test.ts74 // ── Document Canvas (ProseMirror) ──────────────────────────────COMMENT
MEDIUM…es/content/export/__tests__/canvasDocExtractor.test.ts170 // ── Code Canvas (Monaco editor) ────────────────────────────────COMMENT
MEDIUMsrc/pages/content/coachmark/index.ts107// ── Seen-state (shared array, synced) ───────────────────────────────────────COMMENT
MEDIUMsrc/pages/content/coachmark/index.ts171// ── DOM helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/pages/content/coachmark/index.ts230// ── Engine ──────────────────────────────────────────────────────────────────COMMENT
Magic Placeholder Names4 hits · 25 pts
SeverityFileLineSnippetContext
HIGHsrc/features/prompt/model/promptMarkdown.ts12 * `<YOUR_API_KEY>` is simply removed.COMMENT
HIGHsrc/features/prompt/model/promptMarkdown.ts12 * `<YOUR_API_KEY>` is simply removed.COMMENT
HIGH…features/prompt/model/__tests__/promptMarkdown.test.ts24 expect(rendered('Use <YOUR_API_KEY> here.')).toContain('&lt;YOUR_API_KEY&gt;');CODE
HIGH…features/prompt/model/__tests__/promptMarkdown.test.ts24 expect(rendered('Use <YOUR_API_KEY> here.')).toContain('&lt;YOUR_API_KEY&gt;');CODE
Fake / Example Data21 hits · 21 pts
SeverityFileLineSnippetContext
LOW…ore/services/__tests__/AccountIsolationService.test.ts98 email: 'user@example.com',CODE
LOW…ore/services/__tests__/AccountIsolationService.test.ts151 email: 'user@example.com',CODE
LOW…ore/services/__tests__/AccountIsolationService.test.ts287 <conversations-list><a aria-label="Mail ops@example.org">Mail ops@example.org</a></conversations-list>CODE
LOW…alog/sites/chatgpt/selector-data/actions-packaged.json19 "composerLabelAttributes": ["aria-label", "aria-placeholder", "placeholder"],CODE
LOW…/export/services/__tests__/DOMContentExtractor.test.ts142 <img src="about:blank" alt="placeholder" />CODE
LOWsrc/pages/background/__tests__/cloudSyncScopeHarness.ts79 callback('fake-token'),CODE
LOW…es/background/__tests__/cloudSyncHighlightUndo.test.ts123 callback('fake-token'),CODE
LOW…omponents/__tests__/CloudSyncSettingsDownload.test.tsx430 email: 'user@example.com',CODE
LOW…omponents/__tests__/CloudSyncSettingsDownload.test.tsx440 accountKey: `email:${hashString('user@example.com')}`,CODE
LOW…omponents/__tests__/CloudSyncSettingsDownload.test.tsx470 `email:${hashString('user@example.com')}`,CODE
LOW…/components/__tests__/CloudSyncSettingsUpload.test.tsx110 context: { routeUserId: '0', email: 'user@example.com' },CODE
LOWsrc/pages/panel/__tests__/PanelApp.i18n.test.tsx54 for (const name of ['aria-label', 'title', 'placeholder']) {CODE
LOWsrc/pages/panel/__tests__/PanelApp.i18n.test.tsx72 expect(query('.search input')?.getAttribute('placeholder')).toBe(own(locale, 'panelSearch'));CODE
LOW…tent/highlight/__tests__/HighlightEditorBudget.test.ts82 { platform: 'gemini', accountKey: 'user@example.com', accountId: 1, routeUserId: '0' },CODE
LOW…/pages/content/researchPack/__tests__/receiver.test.ts576 '<p data-placeholder="Ask anything" class="placeholder">' +CODE
LOWsrc/pages/content/draftSave/geminiDraftPolicy.ts50 input.getAttribute('placeholder'),CODE
LOWsrc/pages/content/draftSave/geminiDraftPolicy.ts53 richTextarea?.getAttribute('placeholder'),CODE
LOW…content/draftSave/__tests__/onlineDraftTargets.test.ts96 field().removeAttribute('placeholder');CODE
LOW…content/draftSave/__tests__/onlineDraftTargets.test.ts152 field().removeAttribute('placeholder');CODE
LOWsrc/pages/content/quoteReply/quoteInsertion.ts32 input.getAttribute('placeholder'),CODE
LOWsrc/pages/content/quoteReply/quoteInsertion.ts35 richTextarea?.getAttribute('placeholder'),CODE
Verbosity Indicators8 hits · 16 pts
SeverityFileLineSnippetContext
LOWpublic/fetchInterceptor.js286 // Step 2: ProcessingCOMMENT
LOW⚡scripts/build-safari.sh10# Step 1: Build the extension using ViteCOMMENT
LOW⚡scripts/build-safari.sh14# Step 2: Check if dist_safari existsCOMMENT
LOW⚡scripts/build-safari.sh22# Step 3: Convert to Safari App Extension (requires macOS)COMMENT
LOWsrc/pages/content/folder/FolderRepositoryLoads.ts267 // Step 1: Read both stores, including durable copies that cannot fit in localStorage.COMMENT
LOW⚡src/pages/content/folder/FolderRepositoryLoads.ts290 // Step 2: If current this.data already has valid structure, keep itCOMMENT
LOW⚡src/pages/content/folder/FolderRepositoryLoads.ts299 // Step 3: Last resort - initialize empty data and log critical errorCOMMENT
LOWsrc/pages/content/watermarkRemover/downloadFeedback.ts252 // Step 3: Done, auto-dismiss after 2sCOMMENT
Structural Annotation Overuse8 hits · 16 pts
SeverityFileLineSnippetContext
LOWpublic/fetchInterceptor.js286 // Step 2: ProcessingCOMMENT
LOW⚡scripts/build-safari.sh10# Step 1: Build the extension using ViteCOMMENT
LOW⚡scripts/build-safari.sh14# Step 2: Check if dist_safari existsCOMMENT
LOW⚡scripts/build-safari.sh22# Step 3: Convert to Safari App Extension (requires macOS)COMMENT
LOWsrc/pages/content/folder/FolderRepositoryLoads.ts267 // Step 1: Read both stores, including durable copies that cannot fit in localStorage.COMMENT
LOW⚡src/pages/content/folder/FolderRepositoryLoads.ts290 // Step 2: If current this.data already has valid structure, keep itCOMMENT
LOW⚡src/pages/content/folder/FolderRepositoryLoads.ts299 // Step 3: Last resort - initialize empty data and log critical errorCOMMENT
LOWsrc/pages/content/watermarkRemover/downloadFeedback.ts252 // Step 3: Done, auto-dismiss after 2sCOMMENT
Over-Commented Block13 hits · 13 pts
SeverityFileLineSnippetContext
LOW.github/workflows/release.yml21# 1. Calculates the next version.COMMENT
LOW.github/workflows/security.yml1name: SecurityCOMMENT
LOWsrc/core/types/storageKeys/appearanceKeys.ts21 // Sidebar behaviorCOMMENT
LOWsrc/core/types/storageKeys/appearanceKeys.ts41 GV_GEMS_MRU: 'gvGemsMru',COMMENT
LOWsrc/core/types/storageKeys/appearanceKeys.ts61 // from any Gemini page to refresh the snapshot without navigating.COMMENT
LOWsrc/core/types/storageKeys/conversationKeys.ts41 MARKDOWN_FIX_ENABLED: 'gvMarkdownFixEnabled',COMMENT
LOWsrc/core/types/storageKeys/pluginKeys.ts1/**COMMENT
LOWsrc/core/types/storageKeys/pluginKeys.ts21 // (chrome.storage.local). Full key: `${prefix}${location.host}`, e.g.COMMENT
LOWsrc/core/types/storageKeys/pluginKeys.ts41 // (chrome.storage.local). Shape: Record<'local.<id>', LocalPluginRecord> (seeCOMMENT
LOWsrc/pages/background/promptNudgeRegistration.ts1import browser from 'webextension-polyfill';COMMENT
LOWsrc/pages/content/index.tsx381 // Initialize i18n early to ensure translations are availableCOMMENT
LOWsrc/pages/content/folder/NativeSidebarObserver.ts181 }COMMENT
LOWsrc/pages/content/export/responseActionImageButton.ts101 // click-through so the button itself receives every click uniformly. WithoutCOMMENT
Synthetic Comment Markers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHdocs/en/guide/nanobanana.md9Images generated by Gemini™ come with a visible watermark by default. While this is intended for safety, there are creatCODE
HIGH…atermarkRemover/__tests__/packagedImagePreview.test.ts14 host.innerHTML = `<single-image _ngcontent-ng-c2="" _nghost-ng-c3="" class="generated-image large"><div _ngcontent-ng-CODE
Cross-Language Confusion (JS/TS)2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH…es/content/export/__tests__/exportOutputGolden.test.ts200 print("hi")CODE
HIGH…es/content/export/__tests__/exportOutputGolden.test.ts258 print("hi")CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/pages/content/folder/NativeConversationMenus.ts163 // observer. This mirrors the proven, robust export-button observer: itCOMMENT