AI Slop Code RIsk Monitor

power721/alist-tvbox

AList proxy server for TvBox, support playlist and search.

8.9 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for power721/alist-tvbox, a Java project with 3,144 GitHub stars. SynthScan examined 262,783 lines of code across 1315 source files, recording 351 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 8.9 (Moderate 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.

8.9
Adjusted Signal
8.9
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
3.1K
Stars
Java
Language
262.8K
Lines of Code
1.3K
Files
351
Pattern Hits
2026-10-12
Scan Date
0.16
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 1.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 33.5/100 · MEDIUM

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

Agent Over-Engineering Ratio 2.9/100 · LOW

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

PR Review Velocity Impact 35.7/100 · MEDIUM

Which changes need focused human review? 351 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 212HIGH 0MEDIUM 32LOW 107

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 351 distinct pattern matches across 12 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 Indicators212 hits · 2136 pts
SeverityFileLineSnippetContext
CRITICALdocs/superpowers/plans/2026-06-14-remote-config-sync.md478 cn.har01d.alist_tvbox.dto.sync.MergeStrategy.valueOf(strategy.toUpperCase()) : null);CODE
CRITICAL…/superpowers/plans/2026-07-24-link-check-disk-types.md191 org.assertj.core.api.Assertions.assertThat(checkable).extracting(Message::getLink)CODE
CRITICAL…/superpowers/plans/2026-07-24-link-check-disk-types.md209 org.assertj.core.api.Assertions.assertThat(checkable).extracting(Message::getLink)CODE
CRITICAL⚡docs/superpowers/plans/2026-07-28-pansou-grouping.md60 org.assertj.core.api.Assertions.assertThat(result.getList()).hasSize(2);STRING
CRITICAL⚡docs/superpowers/plans/2026-07-28-pansou-grouping.md61 org.assertj.core.api.Assertions.assertThat(result.getList())STRING
CRITICAL⚡docs/superpowers/plans/2026-07-28-pansou-grouping.md64 org.assertj.core.api.Assertions.assertThat(result.getList())STRING
CRITICAL⚡docs/superpowers/plans/2026-07-28-pansou-grouping.md67 org.assertj.core.api.Assertions.assertThat(result.getList())STRING
CRITICAL⚡docs/superpowers/plans/2026-07-28-pansou-grouping.md76 org.assertj.core.api.Assertions.assertThat(list.getList()).hasSize(1);STRING
CRITICAL⚡docs/superpowers/plans/2026-07-28-pansou-grouping.md78 org.assertj.core.api.Assertions.assertThat(list.getList().get(0).getVod_id()).startsWith("https");STRING
CRITICAL⚡docs/superpowers/plans/2026-07-28-pansou-grouping.md79 org.assertj.core.api.Assertions.assertThat(list.getTotal()).isEqualTo(1);STRING
CRITICAL…d/alist_tvbox/config/NativeCaffeineFactoryFixTest.java42 var cache = com.github.benmanes.caffeine.cache.Caffeine.newBuilder()CODE
CRITICAL…1d/alist_tvbox/web/LocalApiAdminPasswordResetTest.java59 new cn.har01d.alist_tvbox.service.backup.RestoreState("/data/does-not-exist-database-json.zip"),CODE
CRITICAL…java/cn/har01d/alist_tvbox/web/PlayControllerTest.java97 .thenReturn(new cn.har01d.alist_tvbox.service.WatchlistService.Result(CODE
CRITICAL…java/cn/har01d/alist_tvbox/web/PlayControllerTest.java110 .thenReturn(new cn.har01d.alist_tvbox.service.WatchlistService.Result(CODE
CRITICAL⚡…har01d/alist_tvbox/web/MediaLibraryControllerTest.java41 assertEquals("已追 8.2", cn.har01d.alist_tvbox.web.MediaLibraryController.subscribedRemarks("已追 已追 已追 已追 8.2", truCODE
CRITICAL⚡…har01d/alist_tvbox/web/MediaLibraryControllerTest.java43 assertEquals("已追 8.2", cn.har01d.alist_tvbox.web.MediaLibraryController.subscribedRemarks("已追 8.2", true));CODE
CRITICAL⚡…har01d/alist_tvbox/web/MediaLibraryControllerTest.java45 assertEquals("8.2", cn.har01d.alist_tvbox.web.MediaLibraryController.subscribedRemarks("已追 8.2", false));CODE
CRITICAL⚡…har01d/alist_tvbox/web/MediaLibraryControllerTest.java46 assertEquals("", cn.har01d.alist_tvbox.web.MediaLibraryController.subscribedRemarks("已追", false));CODE
CRITICAL⚡…har01d/alist_tvbox/web/MediaLibraryControllerTest.java47 assertEquals("已追", cn.har01d.alist_tvbox.web.MediaLibraryController.subscribedRemarks(null, true));CODE
CRITICAL⚡…har01d/alist_tvbox/web/MediaLibraryControllerTest.java48 assertEquals("已追 豆瓣 8.0", cn.har01d.alist_tvbox.web.MediaLibraryController.subscribedRemarks("豆瓣 8.0", true));CODE
CRITICAL…d/alist_tvbox/web/MediaSubscriptionControllerTest.java260 org.junit.jupiter.api.Assertions.assertEquals("https://image.tmdb.org/t/p/w500/abc.jpg", cached.getVod_pic());CODE
CRITICAL…d/alist_tvbox/web/MediaSubscriptionControllerTest.java289 org.junit.jupiter.api.Assertions.assertEquals("https://image.tmdb.org/t/p/w500/abc.jpg", cached.getVod_pic());CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java556 .thenReturn(new cn.har01d.alist_tvbox.service.PianDanSubscriptionService.Result(CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java560 cn.har01d.alist_tvbox.telegram.TelegramCallbackData.parse("wantsub:0"));CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java580 .thenReturn(new cn.har01d.alist_tvbox.service.WatchlistService.Result(CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java584 cn.har01d.alist_tvbox.telegram.TelegramCallbackData.parse("wantdel:0"));CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java603 cn.har01d.alist_tvbox.telegram.TelegramCallbackData.parse("wante:0"));CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java623 .thenReturn(new cn.har01d.alist_tvbox.service.PianDanSubscriptionService.Result(CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java627 cn.har01d.alist_tvbox.telegram.TelegramCallbackData.parse("wantsub:0:3"));CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java652 cn.har01d.alist_tvbox.telegram.TelegramCallbackData.parse("wante:0"));CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java674 cn.har01d.alist_tvbox.telegram.TelegramCallbackData.parse("wante:0"));CODE
CRITICAL…/alist_tvbox/telegram/TelegramSubscriptionBotTest.java687 cn.har01d.alist_tvbox.telegram.TelegramCallbackData.parse("wantsub:3"));CODE
CRITICAL…01d/alist_tvbox/telegram/TelegramUpdateRouterTest.java98 org.junit.jupiter.api.Assertions.assertNull(router.resolveUid(999L));CODE
CRITICAL…01d/alist_tvbox/telegram/TelegramUpdateRouterTest.java102 org.junit.jupiter.api.Assertions.assertEquals(expected, router.resolveUid(chatId));CODE
CRITICAL…a/cn/har01d/alist_tvbox/telegram/TelegramHttpTest.java108 org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL⚡…01d/alist_tvbox/live/service/LiveProxyServiceTest.java135 org.springframework.web.context.request.RequestContextHolder.setRequestAttributes(CODE
CRITICAL⚡…01d/alist_tvbox/live/service/LiveProxyServiceTest.java136 new org.springframework.web.context.request.ServletRequestAttributes(request));CODE
CRITICAL⚡…01d/alist_tvbox/live/service/LiveProxyServiceTest.java141 org.springframework.web.context.request.RequestContextHolder.resetRequestAttributes();CODE
CRITICAL…01d/alist_tvbox/live/service/LiveProxyServiceTest.java194 com.sun.net.httpserver.HttpServer server = com.sun.net.httpserver.HttpServer.create(CODE
CRITICAL…alist_tvbox/live/service/NewLivePlatformProbeTest.java23 com.fasterxml.jackson.databind.json.JsonMapper.builder()CODE
CRITICAL…alist_tvbox/live/service/NewLivePlatformProbeTest.java42 builder.messageConverters(new org.springframework.http.converter.json.MappingJackson2HttpMessageCODE
CRITICAL…alist_tvbox/live/service/NewLivePlatformProbeTest.java119 org.junit.jupiter.api.Assumptions.assumeTrue(!url.isBlank(), "本机出口取流被拒(机房 IP 形态),跳过中继探针");CODE
CRITICAL⚡…alist_tvbox/live/service/NewLivePlatformProbeTest.java130 cn.har01d.alist_tvbox.live.util.FlvSpliceSession session = new cn.har01d.alist_tvbox.live.util.FlvSpliceSession(CODE
CRITICAL⚡…alist_tvbox/live/service/NewLivePlatformProbeTest.java131 new cn.har01d.alist_tvbox.live.util.FlvSpliceSession.Lease(url, System.currentTimeMillis() + 60_000),CODE
CRITICAL⚡…alist_tvbox/live/service/NewLivePlatformProbeTest.java132 next -> new cn.har01d.alist_tvbox.live.util.HttpFlvTagReader(client, next, headers),CODE
CRITICAL⚡…alist_tvbox/live/service/NewLivePlatformProbeTest.java138 return new cn.har01d.alist_tvbox.live.util.FlvSpliceSession.Lease(renewed,CODE
CRITICAL⚡…alist_tvbox/live/service/NewLivePlatformProbeTest.java139 cn.har01d.alist_tvbox.live.util.FlvSpliceSession.refreshAtEpochMs(renewed, System.currentTimCODE
CRITICAL⚡…alist_tvbox/live/service/NewLivePlatformProbeTest.java170 org.junit.jupiter.api.Assertions.assertTrue(bytes.get() > 100_000, "应有持续流数据: " + bytes.get());CODE
CRITICAL⚡…alist_tvbox/live/service/NewLivePlatformProbeTest.java171 org.junit.jupiter.api.Assertions.assertTrue(session.getSwitches() >= 1, "应至少完成一次关键帧换链");CODE
CRITICAL⚡…alist_tvbox/live/service/NewLivePlatformProbeTest.java176 builder.messageConverters(new org.springframework.http.converter.json.MappingJackson2HttpMessageConverteCODE
CRITICAL…01d/alist_tvbox/db/MediaSubscriptionMigrationTest.java116 org.junit.jupiter.api.Assertions.fail("validity 应已删除");CODE
CRITICAL…01d/alist_tvbox/db/MediaSubscriptionMigrationTest.java217 org.junit.jupiter.api.Assertions.fail("重复键应被唯一约束拦截");CODE
CRITICAL⚡…a/cn/har01d/alist_tvbox/db/MsubSchemaContractTest.java107 ps.setString(2, cn.har01d.alist_tvbox.entity.MediaSubscriptionResource.hashOf(prefix + "sig-a"));CODE
CRITICAL⚡…a/cn/har01d/alist_tvbox/db/MsubSchemaContractTest.java111 String hashA = cn.har01d.alist_tvbox.entity.MediaSubscriptionResource.hashOf(prefix + "sig-a");CODE
CRITICAL⚡…a/cn/har01d/alist_tvbox/db/MsubSchemaContractTest.java119 ps.setString(2, cn.har01d.alist_tvbox.entity.MediaSubscriptionResource.hashOf(prefix + "sig-b"));CODE
CRITICAL…a/cn/har01d/alist_tvbox/db/MsubSchemaContractTest.java140 assertEquals(cn.har01d.alist_tvbox.entity.MediaSubscriptionResource.hashOf("https://pan.example/s/abc?pwCODE
CRITICAL…tvbox/service/MediaSubscriptionMagnetFallbackTest.java474 when(resolver.resolve(anyString())).thenReturn(Optional.of(new cn.har01d.alist_tvbox.service.magnet.MagnetResolvCODE
CRITICAL…tvbox/service/MediaSubscriptionMagnetFallbackTest.java476 List.of(new cn.har01d.alist_tvbox.service.magnet.MagnetResolver.MagnetFile("Show.S01E03.1080p.mkv", 5L *CODE
CRITICAL…tvbox/service/MediaSubscriptionMagnetFallbackTest.java488 when(resolver.resolve(anyString())).thenReturn(Optional.of(new cn.har01d.alist_tvbox.service.magnet.MagnetResolvCODE
CRITICAL…tvbox/service/MediaSubscriptionMagnetFallbackTest.java490 List.of(new cn.har01d.alist_tvbox.service.magnet.MagnetResolver.MagnetFile("Show.S01E03.1080p.mkv", 800LCODE
152 more matches not shown…
Decorative Section Separators30 hits · 90 pts
SeverityFileLineSnippetContext
MEDIUMscripts/alist-tvbox.sh1444# -------------------------COMMENT
MEDIUMscripts/alist-tvbox.sh1446# -------------------------COMMENT
MEDIUMscripts/alist-tvbox.sh2988# =========================COMMENT
MEDIUMscripts/alist-tvbox.sh2990# =========================COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java98 // ── 删除:LWW ───────────────────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java122 // ── 删除:回声限频 ───────────────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java188 // ── 删除:作用域 ────────────────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java309 // ── 拉取:游标 ──────────────────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java496 // ── 拉取:分源过滤 ──────────────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java597 // ── 列宽 ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java849 // ── 令牌 ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java861 // ── 分区:不同订阅互不同步 ──────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java891 // ── 分区:uid 全局墓碑须下达 scoped 客户端 ──────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java947 // ── csp_Media 集数回归保护 ────────────────────────────────────────────────COMMENT
MEDIUM…ar01d/alist_tvbox/service/PlaybackSyncServiceTest.java1089 // ── helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUM…1d/alist_tvbox/entity/PlaybackTombstoneRepository.java29 // ── 同步分区查询 ─────────────────────────────────────────────────────────COMMENT
MEDIUM…va/cn/har01d/alist_tvbox/entity/HistoryRepository.java37 // ── 同步分区查询:syncScope 为空 = uid 级(返回全部);非空 = 仅该分区 ──────────COMMENT
MEDIUM…/cn/har01d/alist_tvbox/web/PlaybackSyncController.java38 // ── PUSH(令牌鉴权) ───────────────────────────────────────────────────COMMENT
MEDIUM…/cn/har01d/alist_tvbox/web/PlaybackSyncController.java52 // ── PULL(令牌鉴权) ───────────────────────────────────────────────────COMMENT
MEDIUM…/cn/har01d/alist_tvbox/web/PlaybackSyncController.java68 // ── Fish/默影视 webhtv.playback.v1 兼容入口(与同步开关无关) ──────────────COMMENT
MEDIUM…/cn/har01d/alist_tvbox/web/PlaybackSyncController.java132 // ── 令牌管理(session 鉴权,ADMIN|USER) ───────────────────────────────COMMENT
MEDIUM…/cn/har01d/alist_tvbox/web/PlaybackSyncController.java150 // ── helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUM…cn/har01d/alist_tvbox/service/PlaybackSyncService.java97 // ── 令牌解析(双源:playback_token 表 ∪ session) ──────────────────────────COMMENT
MEDIUM…cn/har01d/alist_tvbox/service/PlaybackSyncService.java130 // ── PUSH:upsert / delete ───────────────────────────────────────────────COMMENT
MEDIUM…cn/har01d/alist_tvbox/service/PlaybackSyncService.java519 // ── PULL:游标增量下发 ─────────────────────────────────────────────────COMMENT
MEDIUM…cn/har01d/alist_tvbox/service/PlaybackSyncService.java772 // ── 令牌 CRUD(session 用户调用) ────────────────────────────────────────COMMENT
MEDIUM…cn/har01d/alist_tvbox/service/PlaybackSyncService.java794 // ── 墓碑清理 ────────────────────────────────────────────────────────────COMMENT
MEDIUM…cn/har01d/alist_tvbox/service/PlaybackSyncService.java804 // ── helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUM…cn/har01d/alist_tvbox/service/PlaybackSyncService.java827 // ── 网盘播放内容的规范标识 ─────────────────────────────────────────────COMMENT
MEDIUM…cn/har01d/alist_tvbox/service/PlaybackSyncService.java1043 // ── 分区查询封装 ─────────────────────────────────────────────────────────COMMENT
Hyper-Verbose Identifiers41 hits · 36 pts
SeverityFileLineSnippetContext
LOWweb-ui/src/utils/pluginDragSupport.d.ts6 export function isPluginDragEnabledForUserAgent(userAgent?: string): booleanCODE
LOW…/plans/2026-06-11-subscription-config-visual-editor.md721function setOrDelete(config, key, value) {CODE
LOW…perpowers/plans/2026-07-19-raw-python-backend-parse.md142 def test_raw_source_skips_secspider_decryption(self):CODE
LOW…perpowers/plans/2026-07-19-raw-python-backend-parse.md146 def test_backend_parse_rewrites_category_and_uses_backend_parse_and_play(self):CODE
LOWscripts/tg.py189def should_put_in_active_folder(message_text, title):STRING
LOW⚡src/test/python/test_Atvp_preheat.py42 def test_load_source_prefers_preheat_cache(self):CODE
LOW⚡src/test/python/test_Atvp_preheat.py49 def test_load_source_falls_back_to_network_on_miss(self):CODE
LOW⚡src/test/python/test_Atvp_preheat.py57 def test_blank_cache_entry_is_ignored(self):CODE
LOW⚡src/test/python/test_Atvp_preheat.py64 def test_preheat_worker_downloads_manifest_into_cache(self):CODE
LOWsrc/test/python/test_Atvp_preheat.py78 def test_preheat_worker_skips_cached_plugins(self):CODE
LOWsrc/test/python/test_Atvp_preheat.py92 def test_preheat_daemon_starts_only_once(self):CODE
LOWsrc/test/python/test_Atvp_preheat.py109 def test_preheat_daemon_ignores_payload_without_url(self):CODE
LOWsrc/test/python/test_Atvp_preheat.py120 def test_cache_file_name_matches_java_contract(self):CODE
LOWsrc/test/python/test_Atvp_preheat.py127 def test_cache_dir_unavailable_disables_cache(self):CODE
LOWsrc/test/python/test_Atvp_resume_fallback.py63 def test_non_drive_resume_falls_back_to_inner_detail_with_line_reordered(self):CODE
LOWsrc/test/python/test_Atvp_resume_fallback.py75 def test_stale_resume_coordinates_fall_back_to_inner_detail(self):CODE
LOWsrc/test/python/test_Atvp_resume_fallback.py85 def test_drive_share_target_still_goes_through_parse(self):CODE
LOWsrc/test/python/test_Atvp_resume_fallback.py98 def test_missing_detail_still_raises(self):CODE
LOWsrc/test/python/test_Atvp_raw_backend_parse.py51 def test_raw_source_skips_secspider_decryption(self):CODE
LOWsrc/test/python/test_Atvp_raw_backend_parse.py66 def test_source_without_raw_marker_still_uses_secspider_decryption(self):CODE
LOWsrc/test/python/test_Atvp_raw_backend_parse.py86 def test_backend_parse_rewrites_category_and_uses_backend_parse_and_play(self):CODE
LOWsrc/test/python/test_Atvp_raw_backend_parse.py133 def test_backend_parse_sends_cached_plugin_title(self):STRING
LOWsrc/test/python/test_Atvp_raw_backend_parse.py163 def test_group_media_link_caches_plugin_title_for_backend_parse(self):STRING
LOWsrc/test/python/test_Atvp_raw_backend_parse.py187 def test_backend_parse_sends_inherited_search_keyword(self):STRING
LOWsrc/test/python/test_Atvp_raw_backend_parse.py217 def test_resume_id_reopens_original_vod_and_selected_drive(self):STRING
LOWsrc/test/python/test_Atvp_raw_backend_parse.py264 def test_resume_id_with_direct_share_calls_backend_parse(self):STRING
LOWsrc/test/python/test_Atvp_link_check.py44 def test_detail_filters_bad_play_and_group_links(self):CODE
LOWsrc/test/python/test_Atvp_link_check.py90 def test_detail_keeps_links_when_check_fails(self):CODE
LOWsrc/test/python/test_Atvp_link_check.py98 def test_detail_checks_many_links_in_one_request(self):CODE
LOWsrc/test/python/test_Atvp_link_check.py112 def test_search_filters_bad_share_items_before_category_normalization(self):CODE
LOWsrc/test/python/test_Atvp_link_check.py139 def test_category_detail_checks_group_links_before_building_folders(self):CODE
LOWsrc/main/resources/static/Atvp.py359 def _resolve_preheat_cache_dir(self):CODE
LOWsrc/main/resources/static/Atvp.py531 def _decrypt_secspider_source(self, package_text):CODE
LOWsrc/main/resources/static/Atvp.py971 def _resolve_deferred_share_url(self, source_id, share_url):CODE
LOWsrc/main/resources/static/Atvp.py1130 def _remember_resume_contexts(self, vod):CODE
LOWsrc/main/resources/static/Atvp.py1257 def _remember_result_keywords(self, result, keyword):CODE
LOWsrc/main/resources/static/Atvp.py1403 def _merge_cached_detail_result(self, share_url, parsed_result):CODE
LOWsrc/main/resources/static/Atvp.py1432 def _resolve_local_proxy_base(self):CODE
LOWsrc/main/resources/static/Atvp.py1495 def _load_category_detail_vod(self, source_id):CODE
LOWsrc/main/resources/static/Atvp.py1604 def _normalize_category_content(self, result):CODE
LOWsrc/main/resources/static/Atvp.py1741 def _normalize_player_content(self, result):CODE
Structural Annotation Overuse13 hits · 27 pts
SeverityFileLineSnippetContext
LOWdocs/bugfix-v2-migration.md24### Step 1: 添加可空列COMMENT
LOWdocs/bugfix-v2-migration.md32### Step 2: 迁移数据COMMENT
LOWdocs/bugfix-v2-migration.md45### Step 3: 添加约束(针对必需字段)COMMENT
LOW⚡docs/superpowers/plans/2026-06-11-e2e-test-results.md7#### Step 1: 启动应用COMMENT
LOW⚡docs/superpowers/plans/2026-06-11-e2e-test-results.md12#### Step 2: 测试获取全局配置(初始为空)COMMENT
LOW⚡docs/superpowers/plans/2026-06-11-e2e-test-results.md18#### Step 3: 设置全局黑名单COMMENT
LOW⚡docs/superpowers/plans/2026-06-11-e2e-test-results.md26#### Step 4: 验证全局配置已保存COMMENT
LOW⚡docs/superpowers/plans/2026-06-11-e2e-test-results.md32#### Step 5: 测试订阅应用全局黑名单COMMENT
LOW⚡docs/superpowers/plans/2026-06-11-e2e-test-results.md38#### Step 6: 测试订阅白名单覆盖COMMENT
LOW⚡docs/superpowers/plans/2026-06-11-e2e-test-results.md45#### Step 7: 测试全局白名单优先于黑名单COMMENT
LOW⚡…/migration/current/V2__Normalize_reserved_columns.java32 // Step 1: Add nullable column with defaultCOMMENT
LOW⚡…/migration/current/V2__Normalize_reserved_columns.java39 // Step 2: Migrate data from old column if it existsCOMMENT
LOW⚡…/migration/current/V2__Normalize_reserved_columns.java49 // Step 3: Add NOT NULL constraint after data is populated (if required)COMMENT
Excessive Try-Catch Wrapping25 hits · 24 pts
SeverityFileLineSnippetContext
LOWscripts/tg.py184 except Exception as e:STRING
LOWscripts/tg.py332 except Exception as e:STRING
LOW⚡scripts/tg.py519 except Exception as e:STRING
LOW⚡scripts/tg.py527 except Exception as e:STRING
LOW⚡scripts/tg.py534 except Exception as e:STRING
MEDIUMsrc/main/resources/static/Atvp.py405def _preheat_worker(self, manifest):CODE
MEDIUMsrc/main/resources/static/Atvp.py702def _invoke_filter_callable(self, func, *args):CODE
LOWsrc/main/resources/static/Atvp.py156except Exception:CODE
LOWsrc/main/resources/static/Atvp.py262 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py296 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py367 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py387 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py433 except Exception as error:CODE
LOWsrc/main/resources/static/Atvp.py436 except Exception as error:CODE
LOWsrc/main/resources/static/Atvp.py590 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py768 except Exception as e:CODE
LOWsrc/main/resources/static/Atvp.py788 except Exception as e:CODE
LOWsrc/main/resources/static/Atvp.py806 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py842 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py854 except Exception as exc:CODE
LOWsrc/main/resources/static/Atvp.py983 except Exception as exc:CODE
LOWsrc/main/resources/static/Atvp.py990 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py1445 except Exception:CODE
LOWsrc/main/resources/static/Atvp.py1472 except Exception as e:CODE
LOWsrc/main/resources/static/Atvp.py1839 except Exception as e:CODE
Over-Commented Block11 hits · 11 pts
SeverityFileLineSnippetContext
LOWweb-ui/src/views/VodView.vue1561 } else if (event.code === 'ArrowLeft') {COMMENT
LOWweb-ui/src/views/VodView.vue1581 // if (event.ctrlKey || event.metaKey) {COMMENT
LOWdocs/cat-spider-example.js1// ============================================================================COMMENT
LOWdocs/cat-spider-example.js21// 4. App 端刷新配置后生效COMMENT
LOWscripts/MIGRATION_FIX.md61### 测试1:容器使用旧路径COMMENT
LOWscripts/MIGRATION_FIX.md81# - /etc/xiaoya/ 有数据COMMENT
LOWscripts/xs-version-sync.sh1#!/usr/bin/env bashCOMMENT
LOW…/cn/har01d/alist_tvbox/service/FileDownloaderTest.java41// void setUp() {COMMENT
LOW…/cn/har01d/alist_tvbox/service/FileDownloaderTest.java61// void zxVersionFallsBackToDirectGitHubWhenProxyDoesNotReturnVersion() {COMMENT
LOWsrc/main/resources/static/tmdb_proxy_worker.js41COMMENT
LOW…java/cn/har01d/alist_tvbox/service/AccountService.java961// log.debug("body: {}", body);COMMENT
Verbosity Indicators3 hits · 7 pts
SeverityFileLineSnippetContext
LOW⚡…/migration/current/V2__Normalize_reserved_columns.java32 // Step 1: Add nullable column with defaultCOMMENT
LOW⚡…/migration/current/V2__Normalize_reserved_columns.java39 // Step 2: Migrate data from old column if it existsCOMMENT
LOW⚡…/migration/current/V2__Normalize_reserved_columns.java49 // Step 3: Add NOT NULL constraint after data is populated (if required)COMMENT
Fake / Example Data6 hits · 6 pts
SeverityFileLineSnippetContext
LOWdocs/plugin_config_schema.md18 {"key": "sites", "label": "站点", "type": "string", "required": true, "aliases": ["site", "host"], "placeholder": "httCODE
LOWdocs/plugin_config_schema.md21 {"key": "cookie", "label": "Cookie", "type": "secret", "placeholder": "可代替账号密码"}CODE
LOW…cn/har01d/alist_tvbox/util/ConfigSchemaParserTest.java22 {"key": "cookie", "label": "Cookie", "type": "secret", "placeholder": "可代替账号密码", "defaultValue": ""}CODE
LOW…/har01d/alist_tvbox/service/sync/RemoteClientTest.java147 String username = "user@example.com";CODE
LOW…/service/offline/Pan123OfflineDownloadHandlerTest.java65 account.setUsername("user@example.com");CODE
LOW…ava/cn/har01d/alist_tvbox/util/ConfigSchemaParser.java111 field.setPlaceholder(extractJsonString(fieldJson, "placeholder"));CODE
Deep Nesting7 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/tg.py227CODE
LOWscripts/tg.py392CODE
LOWsrc/main/resources/static/Atvp.py405CODE
LOWsrc/main/resources/static/Atvp.py858CODE
LOWsrc/main/resources/static/Atvp.py930CODE
LOWsrc/main/resources/static/Atvp.py1078CODE
LOWsrc/main/resources/static/Atvp.py1295CODE
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/tg.py26logger = logging.getLogger(__name__)CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/main/resources/static/tmdb_proxy_worker.js92async function handleRequest(request, env, ctx) {CODE
AI Structural Patterns1 hit · 0 pts
SeverityFileLineSnippetContext
LOWsrc/main/resources/static/Atvp.py119CODE