AI Slop Code Risk Monitor

open-ani/animeko

SlopCodeMonitor badge for open-ani/animeko Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

集找番、追番、看番的一站式弹幕追番平台,云收藏同步 (Bangumi),离线缓存,BitTorrent,弹幕云过滤。100% Kotlin/Compose Multiplatform

1.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for open-ani/animeko, a Kotlin project with 21,362 GitHub stars. SynthScan examined 670,781 lines of code across 3268 source files, recording 290 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 1.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.

1.2
Adjusted Signal
1.2
Raw Pattern Score
100%
Time Factor
2026-10-29
Last Push
21.4K
Stars
Kotlin
Language
670.8K
Lines of Code
3.3K
Files
290
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.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.3/100 · LOW

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

Agent Over-Engineering Ratio 1.0/100 · LOW

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

PR Review Velocity Impact 5.1/100 · LOW

Which changes need focused human review? 290 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 6MEDIUM 34LOW 215

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 290 distinct pattern matches across 13 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 · 405 pts
SeverityFileLineSnippetContext
CRITICAL…ain/kotlin/data/persistent/database/ProtoConverters.kt130 return me.him188.ani.danmaku.api.DanmakuServiceId(value)CODE
CRITICAL…onMain/kotlin/data/network/AniEpisodeCommentService.kt230private fun me.him188.ani.client.models.AniEpisodeCommentReaction.toEpisodeCommentReaction(): EpisodeCommentReaction {CODE
CRITICAL…onMain/kotlin/data/network/danmaku/AniDanmakuSender.kt55 me.him188.ani.client.models.AniDanmakuPostRequest(CODE
CRITICAL…n/kotlin/domain/episode/EpisodeFetchSelectPlayState.kt214 _episodeSessionFlow.value.sessionScope.coroutineContext.job.cancelAndJoin()CODE
CRITICAL…Main/kotlin/domain/mediasource/test/rss/RssItemInfo.kt65 isMatch = me.him188.ani.app.domain.mediasource.MediaListFilters.ContainsAnyEpisodeInfo.applyCODE
CRITICAL…Main/kotlin/domain/mediasource/test/rss/RssItemInfo.kt80 isMatch = me.him188.ani.app.domain.mediasource.MediaListFilters.ContainsSubjectName.applyOn(CODE
CRITICAL…n/kotlin/domain/media/selector/MediaSelectorContext.kt92 val flow = me.him188.ani.utils.coroutines.flows.combine(CODE
CRITICAL…onTest/kotlin/domain/episode/EpisodePlayerTestSuite.kt51 val mediaSelectorTestBuilder = me.him188.ani.app.domain.media.selector.legacy.MediaSelectorTestBuilder(testScope)CODE
CRITICAL…in/media/selector/MediaSelectorProductionWiringTest.kt131 val builder = me.him188.ani.app.domain.media.selector.legacy.MediaSelectorTestBuilder(this)CODE
CRITICAL…main/media/fetch/MediaSourceManagerFetchSessionTest.kt123 episodeSort = me.him188.ani.datasources.api.EpisodeSort(1),CODE
CRITICAL…i/settings/account/ProfileGroupExternalAccountsTest.kt54 private fun me.him188.ani.app.ui.framework.AniComposeUiTest.render(state: AccountSettingsState, callbacks: CallbacksCODE
CRITICAL…in/ui/settings/tabs/media/MediaSelectorWorkflowDemo.kt86 resolveBudgetSeconds = viewModel.config.resolve.budget.inWholeSeconds.toInt()CODE
CRITICAL…opTest/kotlin/ui/comment/CommentItemInteractionTest.kt34 private fun androidx.compose.ui.test.ComposeUiTest.setItem(CODE
CRITICAL…/ui/foundation/layout/CarouselAutoAdvanceEffectTest.kt50 // at androidx.compose.ui.test.RobolectricIdlingStrategy_androidKt.getHasRobolectricFingerprint(RobolectricIdlingStrCOMMENT
CRITICAL…/ui/foundation/layout/CarouselAutoAdvanceEffectTest.kt55 // at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)COMMENT
CRITICAL…kotlin/ui/foundation/imageviewer/ImageViewerContent.kt307private fun com.github.panpf.zoomimage.compose.ZoomState.currentScalePercent(): Int {CODE
CRITICAL…/kotlin/ui/mediaselect/summary/MediaSelectorSummary.kt309 me.him188.ani.app.ui.mediaselect.common.SourceIcon(CODE
CRITICAL…n/ui/mediaselect/summary/MediaSelectorSummaryBanner.kt168 me.him188.ani.app.ui.mediaselect.common.SourceIcon(CODE
CRITICAL…st/kotlin/ui/subject/person/PersonCommentsSheetTest.kt70 private fun androidx.compose.ui.test.ComposeUiTest.setSheet(comments: List<UIComment>): () -> PeopleCommentsState {CODE
CRITICAL…tion/src/commonMain/kotlin/platform/AppStartupTasks.kt25 me.him188.ani.app.platform.initializeSentry(userId = userId)CODE
CRITICAL…mmonMain/kotlin/ui/subject/episode/EpisodeViewModel.kt1104 return me.him188.ani.utils.coroutines.flows.combine(CODE
CRITICAL…ktopMain/kotlin/tools/update/DesktopUpdateInstaller.kt55 return when (me.him188.ani.utils.platform.currentPlatformDesktop()) {CODE
CRITICAL…p/shared/src/desktopMain/kotlin/desktop/ScreenUtils.kt26 return when (me.him188.ani.utils.platform.currentPlatformDesktop()) {CODE
CRITICAL…/desktop-ui-verify/scripts/input-agent/InputAgent.java253 return java.awt.datatransfer.DataFlavor.javaFileListFlavor.equals(flavor);CODE
CRITICAL⚡…/desktop-ui-verify/scripts/input-agent/InputAgent.java286 Module awt = java.awt.dnd.DropTargetContext.class.getModule();CODE
CRITICAL⚡…/desktop-ui-verify/scripts/input-agent/InputAgent.java291 java.lang.reflect.Field peerField = java.awt.dnd.DropTargetContext.class.getDeclaredField("dropTargetContextPeerCODE
CRITICAL⚡…/desktop-ui-verify/scripts/input-agent/InputAgent.java294 java.lang.reflect.Field cache = java.awt.dnd.DropTargetContext.class.getDeclaredField("transferable");CODE
CRITICALutils/jsonpath/src/commonMain/kotlin/JsonPath.kt37fun com.nfeld.jsonpathkt.JsonPath.Companion.compileOrNull(CODE
CRITICAL⚡…src/desktopMain/kotlin/ScreenshotAssertions.desktop.kt15 at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:38)CODE
CRITICAL⚡…src/desktopMain/kotlin/ScreenshotAssertions.desktop.kt16 at org.junit.jupiter.api.Assertions.fail(Assertions.java:138)CODE
CRITICAL⚡…src/desktopMain/kotlin/ScreenshotAssertions.desktop.kt20 at me.him188.ani.app.ui.ScreenshotAssertionsKt.assertScreenshot(ScreenshotAssertions.kt:40)CODE
CRITICAL⚡…src/desktopMain/kotlin/ScreenshotAssertions.desktop.kt23 at androidx.compose.ui.test.SkikoComposeUiTest.withScene(ComposeUiTest.skikoMain.kt:196)CODE
CRITICAL⚡…src/desktopMain/kotlin/ScreenshotAssertions.desktop.kt26 at androidx.compose.ui.test.ComposeRootRegistry.withRegistry(ComposeRootRegistry.skiko.kt:83)CODE
CRITICAL⚡…src/desktopMain/kotlin/ScreenshotAssertions.desktop.kt27 at androidx.compose.ui.test.SkikoComposeUiTest.runTest(ComposeUiTest.skikoMain.kt:186)CODE
CRITICAL…en/me/him188/ani/client/infrastructure/HttpResponse.kt48inline fun <reified T : Any> io.ktor.client.statement.HttpResponse.wrap(): HttpResponse<T> =CODE
Over-Commented Block145 hits · 145 pts
SeverityFileLineSnippetContext
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt1///*COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt21//import kotlinx.serialization.json.JsonCOMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt41// var tags: List<String> = listOf(),COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt61// val session = client.startSearchSession(COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt81// frameRate = frameRate,COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt101//}COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt121// val name: String,COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt141// val index = input.indexOf(it.toString())COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt161// add(Classification(c, Kind.Begin(name)))COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt181// buffer.clear()COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt201// Kind.Zero -> {COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt221//// var state: State = State.NoneCOMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt241//// Kind.Zero -> {COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt261//// append(classification.char)COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt281//// state = State.MergingWord(classification.kind.name)COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt301//// }COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt321////COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt341// }COMMENT
LOWdatasource/bt/dmhy/dataset-tools/src/DumpDataset.kt361// File("output").walk().toList().reversed().forEach { file ->COMMENT
LOW…onMain/kotlin/topic/titles/LabelFirstRawTitleParser.kt301// return@letCOMMENT
LOW…onMain/kotlin/topic/titles/LabelFirstRawTitleParser.kt321//COMMENT
LOW…onMain/kotlin/topic/titles/LabelFirstRawTitleParser.kt421// 性能没问题, 测了一般就 100 stepsCOMMENT
LOW…Main/kotlin/topic/titles/PatternBasedRawTitleParser.kt161 // [喵萌奶茶屋&LoliHouse] 继母的拖油瓶是我的前女友 / Mamahaha no Tsurego ga Motokano datta - 04 [WebRip 1080p HEVC-10bit AAC][简繁内COMMENT
LOW…Main/kotlin/topic/titles/PatternBasedRawTitleParser.kt181 // A 类动画 `-` 分割COMMENT
LOW…Main/kotlin/topic/titles/PatternBasedRawTitleParser.kt201COMMENT
LOW…Main/kotlin/topic/titles/PatternBasedRawTitleParser.kt221 // 肥猫压制 [肥猫压制][FatCatRAW][影星侠][21-28][1080P][HDTVRIP]COMMENT
LOW…Main/kotlin/topic/titles/PatternBasedRawTitleParser.kt241 // 冷番补完字幕组 [冷番补完字幕组][魔幻美少女 / 奇迹女孩][Miracle Girls][1993][HDTV][01-51 Fin][1080p][x265][内封简繁中字] 約2條評論COMMENT
LOW…Main/kotlin/topic/titles/PatternBasedRawTitleParser.kt261 // 星空字幕组 [星空字幕組][異世界藥局 / Isekai Yakkyoku][04][繁日雙語][1080P][WEBrip][MP4](急招校對、後期)COMMENT
LOW…Main/kotlin/topic/titles/PatternBasedRawTitleParser.kt281 // 极影字幕社 【极影字幕社】 ★4月新番 【间谍过家家】【SPY×FAMILY】【10】GB MP4_720PCOMMENT
LOWtools/ani-update/src/main.rs1// Copyright (C) 2024-2026 OpenAni and contributors.COMMENT
LOWapp/desktop/src/main/kotlin/AniDesktop.kt361// AniBuildConfigDesktop.fireabseApplicationIdCOMMENT
LOWapp/desktop/src/main/kotlin/SingleInstanceChcker.kt101 user32.SetForegroundWindow(hWnd)COMMENT
LOWapp/desktop/src/main/kotlin/SingleInstanceChcker.kt121// }COMMENT
LOWapp/desktop/src/main/kotlin/SingleInstanceChcker.kt141// logger.error(e) { "Failed to check single instance, ignoring and continuing" }COMMENT
LOWapp/desktop/test-scripts/windows-auto-update.sh1#COMMENT
LOW…app-data/src/iosMain/kotlin/tools/ServiceLoader.ios.kt21// return RegistryServiceLoader().apply {COMMENT
LOW…app-data/src/iosMain/kotlin/tools/ServiceLoader.ios.kt41// }COMMENT
LOW…app-data/src/iosMain/kotlin/tools/ServiceLoader.ios.kt61// .filter { it.kClass == service }COMMENT
LOW…a/repository/subject/SubjectSearchHistoryRepository.kt41 return Pager(COMMENT
LOW…a/repository/subject/SubjectSearchHistoryRepository.kt61// searchTag.increaseCountByName(content)COMMENT
LOW…n/data/persistent/database/dao/EpisodeCollectionDao.kt261// entity = SubjectEntity::class,COMMENT
LOW…onMain/kotlin/data/models/subject/SubjectAiringInfo.kt61 firstSort = null,COMMENT
LOW…onMain/kotlin/data/models/subject/SubjectAiringInfo.kt81// check(firstEpisode != null && lastEpisode != null) {COMMENT
LOW…/src/commonMain/kotlin/domain/episode/PlayerSession.kt301// private val bundleFlow: Flow<SubjectEpisodeInfoBundle>,COMMENT
LOW…/src/commonMain/kotlin/domain/episode/PlayerSession.kt321// } // the above won't throw.COMMENT
LOW…/src/commonMain/kotlin/domain/episode/PlayerSession.kt341//COMMENT
LOW…/src/commonMain/kotlin/domain/episode/PlayerSession.kt361// private val flowContext: CoroutineContext = Dispatchers.Default,COMMENT
LOW…/src/commonMain/kotlin/domain/episode/PlayerSession.kt381// override suspend fun switchEpisode(COMMENT
LOW…/commonMain/kotlin/domain/danmaku/DanmakuRepository.kt261 private companion object {COMMENT
LOW…/commonMain/kotlin/domain/danmaku/DanmakuRepository.kt281// withContext(defaultDispatcher) {COMMENT
LOW…/commonMain/kotlin/domain/danmaku/DanmakuRepository.kt301// _episodeState.value = EpisodeState.FetchingCOMMENT
LOW…/commonMain/kotlin/domain/danmaku/DanmakuRepository.kt321// data class Fetching(COMMENT
LOW…/commonMain/kotlin/domain/danmaku/DanmakuRepository.kt341// ) : EpisodeState()COMMENT
LOW…/commonMain/kotlin/domain/danmaku/DanmakuRepository.kt361//class InteractiveDanmakuMatchSessionPresenter(COMMENT
LOW…/commonMain/kotlin/domain/danmaku/DanmakuRepository.kt381// val episodes = (episodeState as? InteractiveDanmakuMatchSession.EpisodeState.Success)?.episodes ?: emptyList()COMMENT
LOW…mmonMain/kotlin/domain/mediasource/MediaListFilters.kt41 fun fuzzyMatches() = StringMatcher.calculateMatchRate(originalTitle, subjectName) >= 80COMMENT
LOW…domain/mediasource/web/format/SelectorChannelFormat.kt201 // 注释掉的是 flatten 实现, 名字包含 channel (但没有测试过)COMMENT
LOW…domain/mediasource/web/format/SelectorChannelFormat.kt221// val href = a.attr("title").takeIf { it.isNotBlank() } ?: a.attr("href")COMMENT
LOW…/kotlin/domain/media/selector/MediaSelectionDecider.kt81 // For rules discussion, see #174COMMENT
LOW…otlin/domain/media/fetch/MediaSourceResultsFilterer.kt41//COMMENT
85 more matches not shown…
Decorative Section Separators27 hits · 87 pts
SeverityFileLineSnippetContext
MEDIUM…ta/repository/subject/DefaultBangumiMergeRepository.kt105// ─── 服务端实体 → 客户端模型 ────────────────────────────────────────────────COMMENT
MEDIUM…epository/subject/DefaultBangumiMergeRepositoryTest.kt69 // ─── 测试基础设施 ───────────────────────────────────────────────────────COMMENT
MEDIUM…epository/subject/DefaultBangumiMergeRepositoryTest.kt220 // ─── summary ────────────────────────────────────────────────────────────COMMENT
MEDIUM…epository/subject/DefaultBangumiMergeRepositoryTest.kt257 // ─── getMergeState 映射 ─────────────────────────────────────────────────COMMENT
MEDIUM…epository/subject/DefaultBangumiMergeRepositoryTest.kt520 // ─── resolve ────────────────────────────────────────────────────────────COMMENT
MEDIUM…/src/commonMain/kotlin/ui/update/UpdateNotifierHost.kt224// ───────────────────────── Desktop implementation ────────────────────────────COMMENT
MEDIUM…/src/commonMain/kotlin/ui/update/UpdateNotifierHost.kt247// ───────────────────────── Mobile implementation ─────────────────────────────COMMENT
MEDIUM…/kotlin/ui/bangumi/merge/BangumiMergeScreenshotTest.kt146 // ─── 其他状态 (412dp) ────────────────────────────────────────────────COMMENT
MEDIUM…/kotlin/ui/bangumi/merge/BangumiMergeScreenshotTest.kt229 // ─── 深色主题 ────────────────────────────────────────────────────────COMMENT
MEDIUM…/kotlin/ui/bangumi/merge/BangumiMergeScreenshotTest.kt251 // ─── 桌面 1280dp: 表格封顶 1080dp 居中 ───────────────────────────────COMMENT
MEDIUM…/kotlin/ui/bangumi/merge/BangumiMergeScreenshotTest.kt256 // ─── 主界面的冲突提示条 ──────────────────────────────────────────────COMMENT
MEDIUM⚡scripts/install-android-sdk.sh9# --------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install-android-sdk.sh14# --------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install-android-sdk.sh22# --------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/install-android-sdk.sh32# --------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml88 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml92 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml372 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml375 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml437 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml439 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml590 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml592 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml897 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml904 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml1231 # ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/codex-agent.yml1237 # ---------------------------------------------------------------------------COMMENT
Fake / Example Data36 hits · 42 pts
SeverityFileLineSnippetContext
LOW…mmonMain/kotlin/ui/notification/AnnouncementsScreen.kt310 is LoadState.Loading -> item(key = "append-loading", contentType = "placeholder") {CODE
LOW…mmonMain/kotlin/ui/notification/AnnouncementsScreen.kt319 items(6, key = { "placeholder-$it" }, contentType = { "placeholder" }) {CODE
LOW…ain/kotlin/ui/notification/NotificationCenterScreen.kt756 is LoadState.Loading -> item(key = "append-loading", contentType = "placeholder") {CODE
LOW…ain/kotlin/ui/notification/NotificationCenterScreen.kt765 items(6, key = { "placeholder-$it" }, contentType = { "placeholder" }) {CODE
LOW…tlin/ui/settings/framework/components/TextFieldItem.kt266 "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt" +CODE
LOW…tlin/ui/settings/framework/components/TextFieldItem.kt266 "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt" +CODE
LOW…nt/src/commonMain/kotlin/ui/comment/CommentTestData.kt54 "${(0..1000).random()}Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +CODE
LOW…nt/src/commonMain/kotlin/ui/comment/CommentTestData.kt54 "${(0..1000).random()}Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +CODE
LOW…tion/src/commonMain/kotlin/ui/foundation/AsyncImage.kt188 val placeholderStateImage = rememberStateImage(placeholder, "placeholder")CODE
LOW…/kotlin/ui/mediaselect/summary/MediaSelectorSummary.kt588 get() = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrCODE
LOW…party/placeholder/src/commonMain/kotlin/Placeholder.kt113 name = "placeholder"CODE
LOW…ommonMain/kotlin/ui/exploration/search/SearchFilter.kt154 "placeholder",CODE
LOW⚡…nMain/kotlin/ui/subject/episode/EpisodePresentation.kt59 title = "placeholder",CODE
LOW⚡…nMain/kotlin/ui/subject/episode/EpisodePresentation.kt60 ep = "placeholder",CODE
LOW⚡…nMain/kotlin/ui/subject/episode/EpisodePresentation.kt61 sort = "placeholder",CODE
LOW…nMain/kotlin/ui/subject/episode/SubjectPresentation.kt28 title = "placeholder",CODE
LOW⚡…ct/episode/video/sidesheet/EpisodeSelectorSideSheet.kt213 title = "placeholder",CODE
LOW⚡…ct/episode/video/sidesheet/EpisodeSelectorSideSheet.kt214 ep = "placeholder",CODE
LOW⚡…ct/episode/video/sidesheet/EpisodeSelectorSideSheet.kt222 title = "placeholder",CODE
LOW⚡…ct/episode/video/sidesheet/EpisodeSelectorSideSheet.kt223 ep = "placeholder",CODE
LOW⚡…ct/episode/video/sidesheet/EpisodeSelectorSideSheet.kt231 title = "placeholder",CODE
LOW⚡…ct/episode/video/sidesheet/EpisodeSelectorSideSheet.kt232 ep = "placeholder",CODE
LOW…88/ani/torrent/pikpak/PikPakSessionStoreAdapterTest.kt28 val account = "user@example.com"CODE
LOW…88/ani/torrent/pikpak/PikPakSessionStoreAdapterTest.kt61 store.save("user@example.com", Session("access", "refresh", "subject", 9999))CODE
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt38 "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's stanCODE
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt55 assertEquals("Lorem Ipsum.", this)CODE
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt70 assertEquals("Lorem Ipsum.", this.decodeToString())CODE
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt87// assertEquals("Lorem Ipsum.", this.decodeToString())COMMENT
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt137 assertEquals("Lorem Ipsum is s", this.decodeToString())CODE
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt152// assertEquals("Lorem Ipsum is s", this.decodeToString())COMMENT
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt244 assertEquals("Lorem Ipsum is simply dummy text", this.decodeToString())CODE
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt341 assertEquals("Lorem Ipsum is simpl", input.readExactBytes(20).decodeToString())CODE
LOW…rrent/api/src/commonTest/kotlin/io/TorrentInputTest.kt362 assertEquals("Lorem Ipsum is simpl", input.readExactBytes(20).decodeToString())CODE
LOW…api/src/commonTest/kotlin/io/OffsetTorrentInputTest.kt156 assertEquals("Lorem Ipsum is simply du", this.decodeToString())CODE
LOW…api/src/commonTest/kotlin/io/OffsetTorrentInputTest.kt271 assertEquals("Lorem Ipsum is simpl", input.readExactBytes(20).decodeToString())CODE
LOW…api/src/commonTest/kotlin/io/OffsetTorrentInputTest.kt292 assertEquals("Lorem Ipsum is simpl", input.readExactBytes(20).decodeToString())CODE
Hyper-Verbose Identifiers28 hits · 36 pts
SeverityFileLineSnippetContext
LOW…8/ani/tools/datasourcetestmcp/mcp/McpRequestHandler.kt46class McpRequestHandler(CODE
LOW…in/domain/mediasource/web/captcha/CefCaptchaBrowser.kt208 private class CaptchaResourceRequestHandler(CODE
LOW…-platform/src/desktopMain/kotlin/platform/AniCefApp.kt96 private class AniCefRequestHandler(CODE
LOW.github/workflows/download_jbr.py18def download_with_no_cert_check(url: str, destination: str):CODE
LOW.github/workflows/test_qa_review.py126 def test_review_request_is_wired_to_an_authorized_qa_job(self):CODE
LOW⚡.github/workflows/test_qa_review.py142 def test_prompt_carries_the_marker_and_review_command(self):CODE
LOW⚡.github/workflows/test_qa_review.py152 def test_prompt_verdict_does_not_block_approval_on_untestable_scenarios(self):CODE
LOW⚡.github/workflows/test_qa_review.py161 def test_prompt_for_write_author_uses_latest_head(self):CODE
LOW⚡.github/workflows/test_qa_review.py168 def test_prompt_without_test_account_says_login_is_impossible(self):CODE
LOW⚡.github/workflows/test_qa_review.py176 def test_prompt_carries_the_production_database_hint_but_not_the_secret(self):CODE
LOW⚡.github/workflows/test_qa_review.py186 def test_prompt_carries_the_test_account(self):CODE
LOW⚡.github/workflows/test_qa_review.py195 def test_half_configured_test_account_counts_as_none(self):CODE
LOW.github/workflows/test_qa_review.py228 def test_other_agent_jobs_carry_the_test_account(self):CODE
LOW.github/workflows/test_qa_review.py247 def test_other_agent_jobs_receive_the_test_account_env(self):CODE
LOW⚡.github/workflows/test_qa_review.py261 def test_submitted_review_with_marker_passes_without_comment(self):CODE
LOW⚡.github/workflows/test_qa_review.py265 def test_bot_login_matches_case_insensitively(self):CODE
LOW⚡.github/workflows/test_qa_review.py269 def test_marker_on_a_later_page_is_found(self):CODE
LOW⚡.github/workflows/test_qa_review.py273 def test_missing_review_posts_failure_comment_and_fails(self):CODE
LOW⚡.github/workflows/test_qa_review.py283 def test_reviews_that_do_not_prove_this_run_do_not_count(self):CODE
LOW.github/workflows/test_issue_classification.py154 def test_taxonomy_and_schema_exclude_legacy_labels(self):CODE
LOW.github/workflows/test_issue_classification.py163 def test_each_priority_uses_discovered_field_id_and_preserves_other_fields(self):CODE
LOW.github/workflows/test_issue_classification.py176 def test_priority_set_during_classification_is_preserved(self):CODE
LOW.github/workflows/test_issue_classification.py188 def test_rerun_preserves_priority(self):CODE
LOW.github/workflows/test_issue_classification.py195 def test_invalid_priority_causes_no_writes(self):CODE
LOW⚡.github/workflows/test_issue_classification.py206 def test_forbidden_labels_cause_no_writes_even_if_in_allowlist(self):CODE
LOW⚡.github/workflows/test_issue_classification.py214 def test_missing_or_invalid_field_fails_before_classification(self):CODE
LOW⚡.github/workflows/test_issue_classification.py223 def test_field_permission_failure_is_not_silently_ignored(self):CODE
LOW⚡.github/workflows/test_issue_classification.py229 def test_failed_or_unconfirmed_write_fails_the_step(self):CODE
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGH…-data/src/commonMain/kotlin/data/models/subject/Tag.kt46// Generated by GPT-4oCOMMENT
HIGH…ls/platform/src/commonMain/kotlin/collections/Tuple.kt24// Below are generated by AI.COMMENT
HIGH…anplay/src/commonMain/kotlin/data/DandanplayBangumi.kt6 * Generated by ChatGPT from https://api.dandanplay.net/swagger/ui/index#!/Bangumi/Bangumi_GetBangumiDetailsCOMMENT
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH.github/workflows/download_jbr.py97except OSError:CODE
HIGH.github/workflows/download_jbr.py90except OSError:CODE
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM…gs/src/commonMain/kotlin/ui/settings/SettingsScreen.kt626 // 顶栏覆盖在内容上, 这里代替 scaffold 消耗顶栏的 insets.COMMENT
MEDIUM…monMain/kotlin/ui/download/DownloadManagementScreen.kt403 // 单栏 (手机) 下 scaffold 会以前进导航方式全屏展示详情栏, 并支持返回.COMMENT
MEDIUM…monMain/kotlin/ui/download/DownloadManagementScreen.kt455 // 注意: 必须在 AniListDetailPaneScaffold 之后注册, 才能优先于 scaffold 的返回 (详情->列表) 处理.COMMENT
Self-Referential Comments3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM…/commonMain/kotlin/ui/foundation/HasBackgroundScope.kt59 * ## Creating a background scopeCOMMENT
MEDIUM.github/workflows/download_jbr.py22 # Create an unverified SSL contextCOMMENT
MEDIUMci-helper/verify/run-ani-test-macos-aarch64.sh54 # Create a folder to unzip intoCOMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…mTest/kotlin/tools/update/DefaultFileDownloaderTest.kt277 // In this implementation, if no fallback is found, it ends in "Failed" and returns false.COMMENT
Deep Nesting5 hits · 5 pts
SeverityFileLineSnippetContext
LOWtools/tv-remote/tv-remote.py327CODE
LOWtools/tv-remote/tv-remote.py199CODE
LOW…c/desktopTest/resources/media-selector-traces/clean.py16CODE
LOW…c/desktopTest/resources/media-selector-traces/clean.py97CODE
LOW.github/workflows/test_issue_classification.py30CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…/skills/desktop-ui-verify/scripts/find_window_id.swift3// swift find_window_id.swift --pid <pid> (matches kCGWindowOwnerPID; most robust)COMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtools/tv-remote/tv-remote.py20CODE