AI Slop Code Risk Monitor

duckduckgo/Android

SlopCodeMonitor badge for duckduckgo/Android Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

DuckDuckGo Android App

0.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for duckduckgo/Android, a Kotlin project with 4,883 GitHub stars. SynthScan examined 1,356,270 lines of code across 9978 source files, recording 621 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 0.9 (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.

0.9
Adjusted Signal
0.9
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
4.9K
Stars
Kotlin
Language
1.4M
Lines of Code
10.0K
Files
621
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 1.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.6/100 · LOW

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

Agent Over-Engineering Ratio 0.9/100 · LOW

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

PR Review Velocity Impact 4.1/100 · LOW

Which changes need focused human review? 621 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 35HIGH 26MEDIUM 41LOW 519

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 621 distinct pattern matches across 17 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.

Hallucination Indicators35 hits · 375 pts
SeverityFileLineSnippetContext
CRITICAL…/common/actions/RealPirActionsRunnerStateEngineTest.kt886 val testAction = com.duckduckgo.pir.impl.scripts.models.BrokerAction.Navigate(CODE
CRITICAL⚡…ckgo/pir/impl/scripts/RealBrokerActionProcessorTest.kt82 val profileQuery = com.duckduckgo.pir.impl.models.ProfileQuery(CODE
CRITICAL⚡…ckgo/pir/impl/scripts/RealBrokerActionProcessorTest.kt89 com.duckduckgo.pir.impl.models.Address(city = "TestCity", state = "TS"),CODE
CRITICAL…ckgo/pir/impl/scripts/RealBrokerActionProcessorTest.kt503 val profile = com.duckduckgo.pir.impl.models.ProfileQuery(STRING
CRITICAL⚡…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt492 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "New York", state = "NY"),CODE
CRITICAL⚡…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt499 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "Chicago", state = "IL"),CODE
CRITICAL⚡…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt506 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "Boston", state = "MA"),CODE
CRITICAL⚡…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt674 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "NYC", state = "NY"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt401 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "New York", state = "NY"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt432 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "Chicago", state = "IL"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt455 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "Boston", state = "MA"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt536 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "Seattle", state = "WA"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt543 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "Portland", state = "OR"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt582 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "New York", state = "NY"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt589 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "Chicago", state = "IL"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt629 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "Austin", state = "TX"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt704 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "NYC", state = "NY"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt773 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "NYC", state = "NY"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt806 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "NYC", state = "NY"),CODE
CRITICAL…com/duckduckgo/pir/impl/store/RealPirRepositoryTest.kt851 addresses = com.duckduckgo.pir.impl.store.db.Address(city = "NYC", state = "NY"),CODE
CRITICAL…in/java/com/duckduckgo/pir/impl/store/PirRepository.kt959 com.duckduckgo.pir.impl.store.db.Address(CODE
CRITICAL…a/com/duckduckgo/app/cta/ui/DaxEndContextualCtaTest.kt252 verify(mockDismissedCtaDao).insert(com.duckduckgo.app.cta.model.DismissedCta(CtaId.DAX_END))CODE
CRITICAL…go/app/browser/DuckDuckGoWebLocalStorageManagerTest.kt69 val webLocalStorageSettings = com.duckduckgo.app.browser.weblocalstorage.WebLocalStorageSettings(CODE
CRITICAL…m/duckduckgo/app/email/EmailJavascriptInterfaceTest.kt60 autofillFeature = com.duckduckgo.autofill.api.FakeAutofillFeature.create()CODE
CRITICAL…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt2156 val periodMillis = java.util.concurrent.TimeUnit.DAYS.toMillis(1)CODE
CRITICAL…/duckduckgo/duckchat/impl/models/DuckAiModelManager.kt476private fun com.duckduckgo.subscriptions.api.SubscriptionStatus.isActiveOrWaiting(): Boolean {CODE
CRITICAL…ptions/impl/messaging/RealSubscriptionsJSHelperTest.kt246 subscriptionsFeature.duckAiPlus().setRawStoredState(com.duckduckgo.feature.toggles.api.Toggle.State(usePaidDuckACODE
CRITICAL…ptions/impl/messaging/RealSubscriptionsJSHelperTest.kt247 subscriptionsFeature.allowProTierPurchase().setRawStoredState(com.duckduckgo.feature.toggles.api.Toggle.State(usCODE
CRITICAL…ptions/impl/messaging/RealSubscriptionsJSHelperTest.kt271 subscriptionsFeature.duckAiPlus().setRawStoredState(com.duckduckgo.feature.toggles.api.Toggle.State(usePaidDuckACODE
CRITICAL…ptions/impl/messaging/RealSubscriptionsJSHelperTest.kt272 subscriptionsFeature.allowProTierPurchase().setRawStoredState(com.duckduckgo.feature.toggles.api.Toggle.State(usCODE
CRITICAL…ptions/impl/messaging/RealSubscriptionsJSHelperTest.kt296 subscriptionsFeature.duckAiPlus().setRawStoredState(com.duckduckgo.feature.toggles.api.Toggle.State(usePaidDuckACODE
CRITICAL…ptions/impl/messaging/RealSubscriptionsJSHelperTest.kt297 subscriptionsFeature.allowProTierPurchase().setRawStoredState(com.duckduckgo.feature.toggles.api.Toggle.State(usCODE
CRITICAL…uckduckgo/sync/impl/ThirdPartyCredentialManagerTest.kt158 val realJweCrypto = com.duckduckgo.sync.impl.crypto.RealSyncJweCrypto()CODE
CRITICAL…ckgo/sync/impl/exchange/v2/RealExchangeV2RunnerTest.kt622 whenever(recoveryCodeProvider.getDdgRecoveryCode()).thenReturn(com.duckduckgo.sync.impl.Result.Success("the-codeCODE
CRITICAL…otification/PersistentNotificationDismissedReceiver.kt45 com.duckduckgo.mobile.android.vpn.service.goAsync(pendingResult) {CODE
Fake / Example Data326 hits · 339 pts
SeverityFileLineSnippetContext
LOW…com/duckduckgo/pir/impl/integration/PirEndToEndTest.kt205 fullName = "John Doe",CODE
LOW⚡…ir/impl/integration/fakes/FakePirMessagingInterface.kt128 "name": "John Doe",CODE
LOW⚡…ir/impl/integration/fakes/FakePirMessagingInterface.kt129 "fullName": "John Doe",CODE
LOW⚡…ir/impl/integration/fakes/FakePirMessagingInterface.kt135 "relatives": ["Jane Doe"],CODE
LOW…ate/RealPirDashboardMaintenanceScanDataProviderTest.kt83 createExtractedProfile(dbId = 1L, brokerName = "broker1", name = "John Doe"),CODE
LOW…ate/RealPirDashboardMaintenanceScanDataProviderTest.kt123 assertEquals("John Doe", result[0].extractedProfile.name)CODE
LOW…ate/RealPirDashboardMaintenanceScanDataProviderTest.kt135 createExtractedProfile(dbId = 1L, brokerName = "broker1", name = "John Doe", profileQueryId = 1L),CODE
LOW…ate/RealPirDashboardMaintenanceScanDataProviderTest.kt178 assertEquals("John Doe", result[0].extractedProfile.name)CODE
LOW…ate/RealPirDashboardMaintenanceScanDataProviderTest.kt186 createExtractedProfile(dbId = 1L, brokerName = "broker1", name = "John Doe", profileQueryId = 1L),CODE
LOW…ate/RealPirDashboardMaintenanceScanDataProviderTest.kt219 val johnDoeResult = result.find { it.result.extractedProfile.name == "John Doe" }!!CODE
LOW…ate/RealPirDashboardMaintenanceScanDataProviderTest.kt241 createExtractedProfile(dbId = 1L, brokerName = "broker1", name = "John Doe"),CODE
LOW…ate/RealPirDashboardMaintenanceScanDataProviderTest.kt296 val johnDoeResult = result.find { it.result.extractedProfile.name == "John Doe" }!!CODE
LOW…pl/dashboard/state/RealPirWebProfileStateHolderTest.kt129 assertEquals("John Doe", resultProfiles[0].fullName) // Should not include middle nameCODE
LOW…pl/dashboard/state/RealPirWebProfileStateHolderTest.kt551 assertEquals("John Doe", fullName)CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt536 name = "John Doe",CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt539 relatives = listOf("Jane Doe"),CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt595 assertEquals("John Doe", dashboardResult.extractedProfile.name)CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt610 createExtractedProfile(dbId = 1L, brokerName = "broker1", name = "John Doe"),CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt686 createExtractedProfile(dbId = 1L, brokerName = "child", name = "John Doe"),CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt711 createExtractedProfile(dbId = 1L, brokerName = "broker1", name = "John Doe"),CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt743 assertEquals("John Doe", result[0].extractedProfile.name)CODE
LOW⚡…/state/RealPirDashboardInitialScanStateProviderTest.kt754 name = "John Doe",CODE
LOW⚡…/state/RealPirDashboardInitialScanStateProviderTest.kt757 relatives = listOf("Jane Doe", "Jim Doe"),CODE
LOW⚡…/state/RealPirDashboardInitialScanStateProviderTest.kt763 name = "John Doe",CODE
LOW⚡…/state/RealPirDashboardInitialScanStateProviderTest.kt766 relatives = listOf("Jane Doe"),CODE
LOW⚡…/state/RealPirDashboardInitialScanStateProviderTest.kt775 relatives = listOf("Jane Doe"),CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt814 createExtractedProfile(dbId = 1L, brokerName = "broker1", name = "John Doe"),CODE
LOW⚡…/state/RealPirDashboardInitialScanStateProviderTest.kt842 assertEquals("John Doe", originalResult.extractedProfile.name)CODE
LOW⚡…/state/RealPirDashboardInitialScanStateProviderTest.kt845 assertEquals("John Doe", mirrorResult.extractedProfile.name)CODE
LOW⚡…/state/RealPirDashboardInitialScanStateProviderTest.kt854 createExtractedProfile(dbId = 1L, brokerName = "broker1", name = "John Doe", profileQueryId = 1L),CODE
LOW…/state/RealPirDashboardInitialScanStateProviderTest.kt877 assertEquals("John Doe", result[0].extractedProfile.name)CODE
LOW…/handlers/PirWebInitialScanStatusMessageHandlerTest.kt220 name = "John Doe",CODE
LOW…/handlers/PirWebInitialScanStatusMessageHandlerTest.kt222 relatives = listOf("Jane Doe"),CODE
LOW…/handlers/PirWebInitialScanStatusMessageHandlerTest.kt274 assertEquals("John Doe", result1.name)CODE
LOW…/handlers/PirWebInitialScanStatusMessageHandlerTest.kt276 assertEquals(listOf("Jane Doe"), result1.relatives)CODE
LOW…dlers/PirWebMaintenanceScanStatusMessageHandlerTest.kt192 name = "John Doe",CODE
LOW…dlers/PirWebMaintenanceScanStatusMessageHandlerTest.kt194 relatives = listOf("Jane Doe"),CODE
LOW…dlers/PirWebMaintenanceScanStatusMessageHandlerTest.kt260 assertEquals("John Doe", inProgressResult.name)CODE
LOW…dlers/PirWebMaintenanceScanStatusMessageHandlerTest.kt262 assertEquals(listOf("Jane Doe"), inProgressResult.relatives)CODE
LOW…dlers/PirWebMaintenanceScanStatusMessageHandlerTest.kt279 assertEquals("John Doe", completedResult.name)CODE
LOW…kotlin/com/duckduckgo/pir/impl/RealPirUserUtilsTest.kt55 fullName = "John Doe",CODE
LOW…in/com/duckduckgo/pir/impl/optout/RealPirOptOutTest.kt126 fullName = "John Doe",CODE
LOW…in/com/duckduckgo/pir/impl/optout/RealPirOptOutTest.kt150 name = "John Doe",CODE
LOW…in/com/duckduckgo/pir/impl/optout/RealPirOptOutTest.kt158 fullName = "John Doe",CODE
LOW…duckgo/pir/impl/scheduling/RealJobRecordUpdaterTest.kt93 name = "John Doe",CODE
LOW…duckgo/pir/impl/scheduling/RealJobRecordUpdaterTest.kt474 relatives = listOf("Jane Doe"),CODE
LOW…uckduckgo/pir/impl/scheduling/RealPirJobsRunnerTest.kt162 fullName = "John Doe",CODE
LOW…uckduckgo/pir/impl/scheduling/RealPirJobsRunnerTest.kt191 name = "John Doe",CODE
LOW…uckduckgo/pir/impl/scheduling/RealPirJobsRunnerTest.kt199 fullName = "John Doe",CODE
LOW…kotlin/com/duckduckgo/pir/impl/scan/RealPirScanTest.kt125 fullName = "John Doe",CODE
LOW…duckduckgo/pir/impl/common/RealPirActionsRunnerTest.kt99 fullName = "John Doe",CODE
LOW…uckduckgo/pir/impl/common/RealBrokerStepsParserTest.kt68 name = "John Doe",CODE
LOW⚡…ckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt121 name = "John Doe",CODE
LOW⚡…ckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt129 fullAddress = "123 Main St",CODE
LOW⚡…ckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt132 phoneNumbers = listOf("555-1234"),CODE
LOW⚡…ckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt133 relatives = listOf("Jane Doe"),CODE
LOW⚡…ckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt143 name = "John Doe",CODE
LOW⚡…ckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt151 fullAddress = "123 Main St",CODE
LOW⚡…ckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt154 phoneNumbers = listOf("555-1234"),CODE
LOW⚡…ckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt155 relatives = listOf("Jane Doe"),CODE
266 more matches not shown…
Cross-File Repetition22 hits · 110 pts
SeverityFileLineSnippetContext
HIGH…n/java/com/duckduckgo/di/android/InjectableActivity.kt0could not find the injector for ${key.simplename}. you probably forgot to annotate your class with @injectwith(scope::clSTRING
HIGH…n/java/com/duckduckgo/di/android/InjectableFragment.kt0could not find the injector for ${key.simplename}. you probably forgot to annotate your class with @injectwith(scope::clSTRING
HIGH…ava/com/duckduckgo/app/global/DuckDuckGoApplication.kt0could not find the injector for ${key.simplename}. you probably forgot to annotate your class with @injectwith(scope::clSTRING
HIGH…uckgo/common/ui/DuckDuckGoBottomSheetDialogFragment.kt0could not find the injector for ${key.simplename}. you probably forgot to annotate your class with @injectwith(scope::clSTRING
HIGH…odegen/ksp/ContributeToActivityStarterProcessorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…go/codegen/ksp/ContributesSubComponentProcessorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…o/codegen/ksp/ContributesRemoteFeatureProcessorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…degen/ksp/ContributesActivePluginPointProcessorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…ckgo/codegen/ksp/ContributesServiceApiProcessorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…kgo/codegen/ksp/ContributesPluginPointProcessorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…ckduckgo/codegen/ksp/ContributesWorkerProcessorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…uckgo/codegen/ksp/ContributesViewModelProcessorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…uckgo/lint/MissingContributesToOnModuleDetectorTest.kt0package com.duckduckgo.di.scopes abstract class appscope private constructor() abstract class activityscope private consSTRING
HIGH…st/java/com/duckduckgo/lint/NoLifecycleObserverTest.kt0package com.duckduckgo.lint class duck { fun quack() { system.loadlibrary() } }STRING
HIGH…st/java/com/duckduckgo/lint/NoSingletonDetectorTest.kt0package com.duckduckgo.lint class duck { fun quack() { system.loadlibrary() } }STRING
HIGH…com/duckduckgo/lint/NoSystemLoadLibraryDetectorTest.kt0package com.duckduckgo.lint class duck { fun quack() { system.loadlibrary() } }STRING
HIGH…/duckduckgo/lint/ui/NoRawM3SurfaceUsageDetectorTest.kt0package androidx.compose.runtime annotation class composableSTRING
HIGH…m/duckduckgo/lint/ui/NoRawM3ButtonUsageDetectorTest.kt0package androidx.compose.runtime annotation class composableSTRING
HIGH…duckduckgo/lint/ui/NoRawM3SnackbarUsageDetectorTest.kt0package androidx.compose.runtime annotation class composableSTRING
HIGH…m/duckduckgo/lint/ui/NoRawM3SliderUsageDetectorTest.kt0package androidx.compose.runtime annotation class composableSTRING
HIGH…duckduckgo/lint/ui/DefaultsObjectCasingDetectorTest.kt0package androidx.compose.runtime annotation class composableSTRING
HIGH…kduckgo/lint/ui/NoRawM3AlertDialogUsageDetectorTest.kt0package androidx.compose.runtime annotation class composableSTRING
Structural Annotation Overuse41 hits · 76 pts
SeverityFileLineSnippetContext
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1270 // Step 1: config [1] loads — both pixels registered with 60s/120s periodsCOMMENT
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1289 // Step 2: config [2] loads — pixels A and B still use config [1]COMMENT
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1315 // Step 3: pixel A fires — new cycle uses config [2], pixel B still on config [1]COMMENT
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1334 // Step 4: config [3] loads — pixel A on [2], pixel B still on [1]COMMENT
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1353 // Step 5: pixel B fires — new cycle uses config [3]COMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt324 // Step 1: Settings seenCOMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt328 // Step 2: Feature enabledCOMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt332 // Step 3: Omnibar interactedCOMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt336 // Step 4: Search submittedCOMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt340 // Step 5: Prompt submittedCOMMENT
LOW⚡…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt241 // Step 1: Load empty HTML with base URLCOMMENT
LOW⚡…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt246 // Step 2: Wait for page loadCOMMENT
LOW⚡…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt249 // Step 3: Wait for duckAiClearDataReady notificationCOMMENT
LOW⚡…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt252 // Step 4: Send duckAiClearData subscription with chatId paramsCOMMENT
LOW…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt265 // Step 5: Wait for duckAiClearDataCompleted or duckAiClearDataFailedCOMMENT
LOW⚡…o/autofill/store/keys/RealSecureStorageKeyStoreTest.kt870 // Step 1: Write key in multi-process modeCOMMENT
LOW⚡…o/autofill/store/keys/RealSecureStorageKeyStoreTest.kt879 // Step 2: Disable feature and create new instanceCOMMENT
LOW⚡…o/autofill/store/keys/RealSecureStorageKeyStoreTest.kt885 // Step 3: Read key - should come from legacyCOMMENT
LOW…degen/ksp/ContributesActivePluginPointProcessorTest.kt544 // Step 1: Simulate Module B having produced a deferred marker for aCOMMENT
LOW…degen/ksp/ContributesActivePluginPointProcessorTest.kt556 // Step 2: Simulate Module A having produced a sentinel for "pluginPointFoo"COMMENT
LOWscripts/piranha/README.md20### Step 1: Install Python 3.12 for your platformCOMMENT
LOWscripts/piranha/README.md35### Step 2: Create a Virtual Environment with Python 3.12COMMENT
LOWscripts/piranha/README.md46### Step 3: Activate the Virtual EnvironmentCOMMENT
LOWscripts/piranha/README.md57### Step 4: Verify Python Version Inside Virtual EnvironmentCOMMENT
LOW.github/workflows/android-maintenance-worker.md100### Step 1: Check for in-progress workCOMMENT
LOW⚡.github/workflows/android-maintenance-worker.md115### Step 2: Select a taskCOMMENT
LOW⚡.github/workflows/android-maintenance-worker.md122### Step 3: Read project conventionsCOMMENT
LOW⚡.github/workflows/android-maintenance-worker.md128### Step 4: Implement the taskCOMMENT
LOW.github/workflows/android-maintenance-worker.md140### Step 5: Verify the workCOMMENT
LOW.github/workflows/android-maintenance-worker.md156### Step 6: Open the draft PRCOMMENT
LOW.github/workflows/android-maintenance-worker.md183### Step 7: If stuckCOMMENT
LOW.github/workflows/workflow-failure-classifier.md79## Step 1: Find what actually failedCOMMENT
LOW.github/workflows/workflow-failure-classifier.md105## Step 2: Ours, or infrastructureCOMMENT
LOW.github/workflows/workflow-failure-classifier.md128## Step 3: HistoryCOMMENT
LOW.github/workflows/workflow-failure-classifier.md139## Step 4: Candidate changesCOMMENT
LOW.github/workflows/workflow-failure-classifier.md185## Step 5: Write the reportCOMMENT
LOW⚡.github/workflows/drift-audit.md89### Step 1: Find what changed recentlyCOMMENT
LOW⚡.github/workflows/drift-audit.md94### Step 2: Re-check the docs for the areas that changedCOMMENT
LOW⚡.github/workflows/drift-audit.md100### Step 3: DecideCOMMENT
LOW⚡.github/workflows/drift-audit.md106### Step 4: Open the draft PRCOMMENT
LOW.github/workflows/drift-audit.md134### Step 5: If unsureCOMMENT
Hyper-Verbose Identifiers80 hits · 76 pts
SeverityFileLineSnippetContext
LOWapp/src/main/res/raw/login_form_detection_functions.js46function scanPasswordFieldsInIFrame() {CODE
LOW…main/java/com/duckduckgo/app/browser/WebDataManager.kt75class WebViewDataManager @Inject constructor(CODE
LOW…/java/com/duckduckgo/app/browser/BrowserTabFragment.kt5744 function buildCoordinateCandidates(raw, densityValue, scaleValue) {CODE
LOW…ckduckgo/duckchat/impl/sync/DuckChatSyncDataManager.kt61class DuckChatSyncDataManager @Inject constructor(CODE
LOW…/impl/messaging/DuckChatStandaloneJsMessageHandlers.kt67class StoreMigrationDataHandler @Inject constructor(CODE
LOW…/impl/messaging/DuckChatStandaloneJsMessageHandlers.kt181class ClearMigrationDataHandler @Inject constructor(CODE
LOWperf-benchmarks/pageload_benchmark.py287def merge_reload_interrupted_slices(durations: list[float], expected_total: int) -> list[float]:CODE
LOWscripts/ps-analysis/ps_review_anomaly.py8def fetch_reviews_all_languages_countries(package_name, langs, countries, count=10000, date_range=None):CODE
LOWscripts/release/create-asana-internal-release.py71def get_latest_internal_tag_before_commit(repo_path: str, current_tag: str) -> str | None:CODE
LOW⚡scripts/release/test_asana_release_utils.py36 def test_returns_only_release_tags(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py46 def test_returns_empty_when_no_release_tags(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py51 def test_returns_empty_on_empty_repo(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py58 def test_returns_latest_release_tag(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py67 def test_returns_none_when_no_release_tags(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py74 def test_returns_previous_tag(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py83 def test_returns_none_when_first_tag(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py88 def test_returns_none_when_tag_not_found(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py93 def test_ignores_non_release_tags(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py108 def test_returns_base_normal_when_no_prior_hotfix(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py116 def test_returns_newest_prior_hotfix(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py125 def test_ignores_patch_greater_or_equal(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py135 def test_ignores_other_minor_lines(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py144 def test_returns_none_for_malformed_version(self, mock_run):CODE
LOW⚡scripts/release/test_asana_release_utils.py239 def test_prefix_on_separate_line_from_url(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py245 def test_flexible_whitespace_between_prefix_words(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py251 def test_flexible_whitespace_around_slash(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py257 def test_spaces_around_slash_and_extra_whitespace(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py263 def test_prefix_in_multiline_commit_message(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py275 def test_wrong_domain_not_matched(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py284 def test_url_stops_at_whitespace(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py290 def test_prefix_newline_between_words(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py301 def test_resolves_id_from_valid_url(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py305 def test_resolves_id_from_new_style_url(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py310 def test_returns_none_when_no_url(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py315 def test_returns_none_on_malformed_url(self, _mock_extract):CODE
LOW⚡scripts/release/test_asana_release_utils.py320 def test_returns_none_when_extracted_id_is_empty(self, _mock_extract):CODE
LOW⚡scripts/release/test_asana_release_utils.py619 def test_base_normal_of_zero_patch(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py623 def test_returns_none_for_malformed(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py629 def test_keeps_first_occurrence_and_drops_urlless(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py642 def test_single_section_when_no_previous_links(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py648 def test_two_sections_when_previous_links_given(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py657 def test_empty_previous_links_stays_single_section(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py667 def test_appends_release_tag_to_base_url(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py673 def test_replaces_placeholder_when_base_url_given(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py678 def test_leaves_placeholder_when_base_url_missing(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py683 def test_leaves_notes_unchanged_when_placeholder_absent(self):CODE
LOW⚡scripts/release/test_asana_release_utils.py687 def test_never_raises_on_unexpected_failure(self):CODE
LOWscripts/release/test_asana_release_utils.py172 def test_skips_unresolvable_hashes(self, mock_repo_cls):CODE
LOWscripts/release/test_asana_release_utils.py221 def test_url_with_query_params(self):CODE
LOWscripts/release/test_asana_release_utils.py333 def test_words_joined_with_flexible_whitespace(self):CODE
LOWscripts/release/test_asana_release_utils.py337 def test_slash_gets_flexible_whitespace(self):CODE
LOWscripts/release/test_asana_release_utils.py356 def test_excludes_task_shipped_in_hotfix_tag_merged_back_to_develop(CODE
LOWscripts/release/test_asana_release_utils.py378 def test_no_shipped_tags_yields_empty_set(CODE
LOWscripts/release/test_asana_release_utils.py394 def test_task_shipped_in_prior_release_is_excluded(CODE
LOWscripts/release/test_asana_release_utils.py412 def test_no_prior_tag_still_walks_forward_from_earliest(CODE
LOWscripts/release/test_asana_release_utils.py430 def test_unrecognized_start_tag_fails_safe_without_walking_history(CODE
LOWscripts/release/test_asana_release_utils.py446 def test_single_tag_returns_empty(self, mock_tags, mock_prior, mock_commits):CODE
LOWscripts/release/test_asana_release_utils.py496 def test_filters_out_already_shipped_task(self):CODE
LOWscripts/release/test_asana_release_utils.py513 def test_no_overlap_keeps_all_new_tasks(self):CODE
LOWscripts/release/test_asana_release_utils.py529 def test_start_tag_override_used_as_start(self):CODE
20 more matches not shown…
Decorative Section Separators19 hits · 57 pts
SeverityFileLineSnippetContext
MEDIUM…ckchat/impl/clearing/DuckChatDataClearingPluginTest.kt76 // ── Regular mode via AllForMode(REGULAR) ──────────────────────────────────COMMENT
MEDIUM…ckchat/impl/clearing/DuckChatDataClearingPluginTest.kt125 // ── DuckChats.All routes to both modes ────────────────────────────────────COMMENT
MEDIUM…ckchat/impl/clearing/DuckChatDataClearingPluginTest.kt151 // ── Fire mode — AllForMode(FIRE) ──────────────────────────────────────────COMMENT
MEDIUM…ckchat/impl/clearing/DuckChatDataClearingPluginTest.kt176 // ── Fire mode — SelectedForMode(FIRE) ─────────────────────────────────────COMMENT
MEDIUM…uckduckgo/duckchat/internal/store/DuckAiDebugServer.kt457 // ── Collapsible sections ─────────────────────────────────────────────COMMENT
MEDIUM…uckduckgo/duckchat/internal/store/DuckAiDebugServer.kt465 // ── Load ─────────────────────────────────────────────────────────────COMMENT
MEDIUM…uckduckgo/duckchat/internal/store/DuckAiDebugServer.kt605 // ── CRUD ─────────────────────────────────────────────────────────────COMMENT
MEDIUM…uckduckgo/duckchat/internal/store/DuckAiDebugServer.kt700 // ── Setting edit modal ───────────────────────────────────────────────COMMENT
MEDIUM…uckduckgo/duckchat/internal/store/DuckAiDebugServer.kt717 // ── Chat edit modal ──────────────────────────────────────────────────COMMENT
MEDIUM…uckduckgo/duckchat/internal/store/DuckAiDebugServer.kt742 // ── File preview modal ───────────────────────────────────────────────COMMENT
MEDIUM…uckduckgo/duckchat/internal/store/DuckAiDebugServer.kt808 // ── Modal helpers ────────────────────────────────────────────────────COMMENT
MEDIUM…uckduckgo/duckchat/internal/store/DuckAiDebugServer.kt812 // ── Utilities ────────────────────────────────────────────────────────COMMENT
MEDIUM.maestro/performance/page_load_warm.yaml18 # ── Cold load (cache seed) ────────────────────────────────────────COMMENT
MEDIUM.maestro/performance/page_load_warm.yaml21 # ── Warm loads ──────────────────────────────────────────────────────COMMENT
MEDIUM…java/com/duckduckgo/app/anr/ndk/NativeCrashInitTest.kt66 // ── Process routing ────────────────────────────────────────────────────────COMMENT
MEDIUM…java/com/duckduckgo/app/anr/ndk/NativeCrashInitTest.kt104 // ── Feature toggles ───────────────────────────────────────────────────────COMMENT
MEDIUM…java/com/duckduckgo/app/anr/ndk/NativeCrashInitTest.kt127 // ── Handler registered pixel ───────────────────────────────────────────────COMMENT
MEDIUM…java/com/duckduckgo/app/anr/ndk/NativeCrashInitTest.kt150 // ── onCrash pixel ─────────────────────────────────────────────────────────COMMENT
MEDIUM…java/com/duckduckgo/app/anr/ndk/NativeCrashInitTest.kt190 // ── Helpers ───────────────────────────────────────────────────────────────COMMENT
Verbosity Indicators21 hits · 40 pts
SeverityFileLineSnippetContext
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1270 // Step 1: config [1] loads — both pixels registered with 60s/120s periodsCOMMENT
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1289 // Step 2: config [2] loads — pixels A and B still use config [1]COMMENT
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1315 // Step 3: pixel A fires — new cycle uses config [2], pixel B still on config [1]COMMENT
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1334 // Step 4: config [3] loads — pixel A on [2], pixel B still on [1]COMMENT
LOW…o/eventhub/impl/pixels/RealEventHubPixelManagerTest.kt1353 // Step 5: pixel B fires — new cycle uses config [3]COMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt324 // Step 1: Settings seenCOMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt328 // Step 2: Feature enabledCOMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt332 // Step 3: Omnibar interactedCOMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt336 // Step 4: Search submittedCOMMENT
LOW⚡…einput/discovery/InputScreenDiscoveryFunnelImplTest.kt340 // Step 5: Prompt submittedCOMMENT
LOW⚡…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt241 // Step 1: Load empty HTML with base URLCOMMENT
LOW⚡…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt246 // Step 2: Wait for page loadCOMMENT
LOW⚡…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt249 // Step 3: Wait for duckAiClearDataReady notificationCOMMENT
LOW⚡…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt252 // Step 4: Send duckAiClearData subscription with chatId paramsCOMMENT
LOW…ckduckgo/duckchat/impl/clearing/RealDuckChatDeleter.kt265 // Step 5: Wait for duckAiClearDataCompleted or duckAiClearDataFailedCOMMENT
LOW⚡…o/autofill/store/keys/RealSecureStorageKeyStoreTest.kt870 // Step 1: Write key in multi-process modeCOMMENT
LOW⚡…o/autofill/store/keys/RealSecureStorageKeyStoreTest.kt879 // Step 2: Disable feature and create new instanceCOMMENT
LOW⚡…o/autofill/store/keys/RealSecureStorageKeyStoreTest.kt885 // Step 3: Read key - should come from legacyCOMMENT
LOW…degen/ksp/ContributesActivePluginPointProcessorTest.kt544 // Step 1: Simulate Module B having produced a deferred marker for aCOMMENT
LOW…degen/ksp/ContributesActivePluginPointProcessorTest.kt556 // Step 2: Simulate Module A having produced a sentinel for "pluginPointFoo"COMMENT
LOW…degen/ksp/ContributesActivePluginPointProcessorTest.kt571 // Step 3: "App" module has its own plugin point (so Phase 2 fires) and seesCOMMENT
AI Slop Vocabulary16 hits · 36 pts
SeverityFileLineSnippetContext
MEDIUM…pir-impl/src/main/assets/brokers/peoplelooker.com.json96 "selector": "#comprehensive-form",CODE
MEDIUM…pir-impl/src/main/assets/brokers/peoplelooker.com.json103 "selector": "#comprehensive-form",CODE
MEDIUM…pir-impl/src/main/assets/brokers/peoplelooker.com.json131 "selector": "#comprehensive-form",CODE
MEDIUM…/pir-impl/src/main/assets/brokers/neighborwho.com.json105 "selector": "#comprehensive-form",CODE
MEDIUM…/pir-impl/src/main/assets/brokers/neighborwho.com.json112 "selector": "#comprehensive-form",CODE
MEDIUM…/pir-impl/src/main/assets/brokers/neighborwho.com.json140 "selector": "#comprehensive-form",CODE
MEDIUM…pir-impl/src/main/assets/brokers/beenverified.com.json160 "selector": "#comprehensive-form",CODE
MEDIUM…pir-impl/src/main/assets/brokers/beenverified.com.json167 "selector": "#comprehensive-form",CODE
MEDIUM…pir-impl/src/main/assets/brokers/beenverified.com.json195 "selector": "#comprehensive-form",CODE
MEDIUM…pir-impl/src/main/assets/brokers/beenverified.com.json349 "selector": "#comprehensive-form",CODE
MEDIUM…pir-impl/src/main/assets/brokers/beenverified.com.json356 "selector": "#comprehensive-form",CODE
MEDIUM…pir-impl/src/main/assets/brokers/beenverified.com.json384 "selector": "#comprehensive-form",CODE
MEDIUM…omptscoordinator/impl/ModalEvaluatorCoordinatorTest.kt294 // Timestamps keep recording regardless of the flag so kill-switch flips stay seamless.COMMENT
MEDIUM…o/promptscoordinator/impl/ModalEvaluatorCoordinator.kt121 // Recorded either way so kill-switch flips stay seamless.COMMENT
MEDIUM.github/actions/assign-release-task/action.yml48 # Using jq to extract the task_id - ensure it's robustCOMMENT
MEDIUM…ava/com/duckduckgo/sync/impl/RealSyncCodeDispatcher.kt590 // to a genuine v1 code so the parseSyncAuthCode round-trip stays robust.COMMENT
Synthetic Comment Markers4 hits · 30 pts
SeverityFileLineSnippetContext
HIGH…a/com/duckduckgo/settings/api/HideAiGeneratedImages.kt36 // The SERP key carrying the hide-AI-generated-images value in the serpSettings blob.COMMENT
HIGH…/duckchat/impl/ui/settings/DuckChatSettingsActivity.kt168 // AI-generated images are hidden, there is nothing left to do, so it's greyed out, non-tappable,COMMENT
HIGH…duckchat/impl/ui/settings/DuckChatSettingsViewModel.kt139 // Search Assist is Never and AI-generated images are hidden, there's nothing left to do.COMMENT
HIGH…duckchat/impl/ui/settings/DuckChatSettingsViewModel.kt203 // Turn off Duck.ai, silence Search Assist, and hide AI-generated images in one tap.COMMENT
Over-Commented Block27 hits · 27 pts
SeverityFileLineSnippetContext
LOWapp/src/main/res/raw/inject_alias.js1//COMMENT
LOWapp/src/main/res/raw/url_extraction.js1//COMMENT
LOWapp/src/main/res/raw/signout_autofill.js1//COMMENT
LOWapp/src/main/res/raw/blob_converter.js1//COMMENT
LOW…/generalsettings/showonapplaunch/FirstScreenHandler.kt81 private val tabRepository: TabRepositoryCOMMENT
LOW…hat/impl/ui/nativeinput/views/NativeInputModeWidget.kt401 // never reset. Used to prevent the shared per-tab NativeInputStateProvider from leakingCOMMENT
LOW…hat/impl/ui/nativeinput/views/NativeInputModeWidget.kt1281 inputMode = inputMode,COMMENT
LOWscripts/dump_all_symbols.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/gen_breakpad_symbols.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/check_elf_alignment.sh1#!/usr/bin/env bashCOMMENT
LOW.github/workflows/android-maintenance-worker.lock.yml1# ___ _ _ COMMENT
LOW.github/workflows/android-maintenance-worker.lock.yml721 run: bash ${RUNNER_TEMP}/gh-aw/actions/clean_git_credentials.shCOMMENT
LOW.github/workflows/android-maintenance-worker.lock.yml741 # - mcp__github__get_code_scanning_alertCOMMENT
LOW.github/workflows/android-maintenance-worker.lock.yml761 # - mcp__github__get_tagCOMMENT
LOW.github/workflows/android-maintenance-worker.lock.yml781 # - mcp__github__list_workflow_jobsCOMMENT
LOW.github/workflows/android-maintenance-worker.lock.yml1181 # Allowed tools (sorted):COMMENT
LOW.github/workflows/workflow-failure-classifier.lock.yml1# ___ _ _ COMMENT
LOW.github/workflows/workflow-failure-classifier.lock.yml421 # - NotebookEditCOMMENT
LOW.github/workflows/workflow-failure-classifier.lock.yml441 # - mcp__github__get_pull_request_diffCOMMENT
LOW.github/workflows/workflow-failure-classifier.lock.yml461 # - mcp__github__list_labelCOMMENT
LOW.github/workflows/drift-audit.lock.yml1# ___ _ _ COMMENT
LOW.github/workflows/drift-audit.lock.yml561 name: activationCOMMENT
LOW.github/workflows/drift-audit.lock.yml581 # - TaskCOMMENT
LOW.github/workflows/drift-audit.lock.yml601 # - mcp__github__get_pull_request_reviewsCOMMENT
LOW.github/workflows/drift-audit.lock.yml621 # - mcp__github__list_releasesCOMMENT
LOW.github/actions/develocity-runner-info/action.yml21 # shell runs, so a value containing a newline or shell metacharacter could otherwiseCOMMENT
LOW…obile/android/vpn/service/TrackerBlockingVpnService.kt841//COMMENT
Self-Referential Comments5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMscripts/release/create-asana-internal-release.py44 # Create the taskCOMMENT
MEDIUMscripts/release/create-asana-internal-release.py141 # Create the Asana task with the tag nameCOMMENT
MEDIUMscripts/release/create-asana-hotfix-release.py162 # Create the Asana hotfix task by duplicating the release template.COMMENT
MEDIUMscripts/release/create-asana-public-release.py67 # Create the Asana release taskCOMMENT
MEDIUM.github/workflows/hotfix_orchestrator.yml33 # Create the Asana hotfix tracking task up-front; mirrors the manual "task first, then tag" orderCOMMENT
Excessive Try-Catch Wrapping11 hits · 11 pts
SeverityFileLineSnippetContext
LOWscripts/ps-analysis/ps_review_anomaly.py58 except Exception as e:CODE
LOWscripts/release/create-asana-internal-release.py148 except Exception as e:CODE
LOWscripts/release/asana_release_utils.py196 except Exception as e:CODE
LOWscripts/release/asana_release_utils.py221 except Exception as e:CODE
LOWscripts/release/asana_release_utils.py347 except Exception as e:CODE
LOWscripts/release/asana_release_utils.py468 except Exception as e:CODE
LOWscripts/release/asana_release_utils.py487 except Exception as e:CODE
LOWscripts/release/collect-lgc-asana-tasks.py86 except Exception as e:CODE
LOWscripts/release/create-asana-hotfix-release.py186 except Exception as e:CODE
LOWscripts/release/create-asana-public-release.py90 except Exception as e:CODE
LOWbuild-benchmarks/run-benchmark.py238 except Exception as e:CODE
Deep Nesting5 hits · 5 pts
SeverityFileLineSnippetContext
LOWscripts/ps-analysis/ps_review_anomaly.py8CODE
LOWscripts/ps-analysis/ps_review_anomaly.py143CODE
LOWscripts/pir-broker-update/update_pir_brokers.py62CODE
LOWbuild-benchmarks/run-benchmark.py85CODE
LOWbuild-benchmarks/run-benchmark.py145CODE
Unused Imports5 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/ps-analysis/ps_review_anomaly.py1CODE
LOWscripts/release/test_asana_release_utils.py5CODE
LOWscripts/piranha/clean.py4CODE
LOWscripts/piranha/clean.py4CODE
LOWbuild-benchmarks/run-benchmark.py19CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/actionlint.yaml7 # gh-aw agentic workflows compile to `*.lock.yml` (generated, "DO NOT EDIT").COMMENT
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOW.github/actions/check-for-changes-since-tag/action.yml20 # Check if there are any new commits since the tagCOMMENT
LOW.github/actions/assign-release-task/action.yml68 # Check if the assignment was successfulCOMMENT
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/piranha/clean.py11logger = logging.getLogger(__name__)CODE