AI Slop Code RIsk Monitor

zenstory-ai/oh-story-claudecode

Claude Code / Codex / OpenCode agent skills for writing Chinese web novels (网文): 扫榜、拆文、写作、去AI味、封面全流程,长篇短篇都支持 | 13 skills for novel writing and long-form fiction with file-based continuity tracking. MIT.

10.8 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for zenstory-ai/oh-story-claudecode, a Python project with 7,438 GitHub stars. SynthScan examined 167,847 lines of code across 775 source files, recording 909 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 10.8 (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.

10.8
Adjusted Signal
10.8
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
7.4K
Stars
Python
Language
167.8K
Lines of Code
775
Files
909
Pattern Hits
2026-10-12
Scan Date
0.24
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 14.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.4/100 · LOW

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

Agent Over-Engineering Ratio 36.2/100 · MEDIUM

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

PR Review Velocity Impact 45.3/100 · MEDIUM

Which changes need focused human review? 909 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

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 0HIGH 188MEDIUM 88LOW 633

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 909 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.

Cross-File Repetition150 hits · 750 pts
SeverityFileLineSnippetContext
HIGHskills/story-long-write/scripts/author_memory_commit.py0maintain evidence-backed author preferences and deterministic markdown views. the language model supplies compact semantSTRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0maintain evidence-backed author preferences and deterministic markdown views. the language model supplies compact semantSTRING
HIGHskills/story-review/scripts/author_memory_commit.py0maintain evidence-backed author preferences and deterministic markdown views. the language model supplies compact semantSTRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0maintain evidence-backed author preferences and deterministic markdown views. the language model supplies compact semantSTRING
HIGHskills/story/scripts/author_memory_commit.py0maintain evidence-backed author preferences and deterministic markdown views. the language model supplies compact semantSTRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0不校验整份 state,只取书名——书级 store 一旦建立,书名以 state 为准, 书目录改名不影响。STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0不校验整份 state,只取书名——书级 store 一旦建立,书名以 state 为准, 书目录改名不影响。STRING
HIGHskills/story-review/scripts/author_memory_commit.py0不校验整份 state,只取书名——书级 store 一旦建立,书名以 state 为准, 书目录改名不影响。STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0不校验整份 state,只取书名——书级 store 一旦建立,书名以 state 为准, 书目录改名不影响。STRING
HIGHskills/story/scripts/author_memory_commit.py0不校验整份 state,只取书名——书级 store 一旦建立,书名以 state 为准, 书目录改名不影响。STRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0--workspace 指到的其实是多书工作区里的一本书时,返回真正的创作工作区。 认三种迹象,任一成立即是:①工作区的上一层目录叫 长篇 / 短篇(story-setup 的书 目录约定,返回再上一层);②某个祖先目录有 .active-STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0--workspace 指到的其实是多书工作区里的一本书时,返回真正的创作工作区。 认三种迹象,任一成立即是:①工作区的上一层目录叫 长篇 / 短篇(story-setup 的书 目录约定,返回再上一层);②某个祖先目录有 .active-STRING
HIGHskills/story-review/scripts/author_memory_commit.py0--workspace 指到的其实是多书工作区里的一本书时,返回真正的创作工作区。 认三种迹象,任一成立即是:①工作区的上一层目录叫 长篇 / 短篇(story-setup 的书 目录约定,返回再上一层);②某个祖先目录有 .active-STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0--workspace 指到的其实是多书工作区里的一本书时,返回真正的创作工作区。 认三种迹象,任一成立即是:①工作区的上一层目录叫 长篇 / 短篇(story-setup 的书 目录约定,返回再上一层);②某个祖先目录有 .active-STRING
HIGHskills/story/scripts/author_memory_commit.py0--workspace 指到的其实是多书工作区里的一本书时,返回真正的创作工作区。 认三种迹象,任一成立即是:①工作区的上一层目录叫 长篇 / 短篇(story-setup 的书 目录约定,返回再上一层);②某个祖先目录有 .active-STRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0单书布局:书根就是工作区(正文/、大纲/、追踪/ 直接在工作区根)。 同一目录还可能是多书工作区里的一本书被误传成了 --workspace(书目录自己也含 .story/作者记忆/)。那时按单书布局处理会把书级 state 挪进 书级/、STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0单书布局:书根就是工作区(正文/、大纲/、追踪/ 直接在工作区根)。 同一目录还可能是多书工作区里的一本书被误传成了 --workspace(书目录自己也含 .story/作者记忆/)。那时按单书布局处理会把书级 state 挪进 书级/、STRING
HIGHskills/story-review/scripts/author_memory_commit.py0单书布局:书根就是工作区(正文/、大纲/、追踪/ 直接在工作区根)。 同一目录还可能是多书工作区里的一本书被误传成了 --workspace(书目录自己也含 .story/作者记忆/)。那时按单书布局处理会把书级 state 挪进 书级/、STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0单书布局:书根就是工作区(正文/、大纲/、追踪/ 直接在工作区根)。 同一目录还可能是多书工作区里的一本书被误传成了 --workspace(书目录自己也含 .story/作者记忆/)。那时按单书布局处理会把书级 state 挪进 书级/、STRING
HIGHskills/story/scripts/author_memory_commit.py0单书布局:书根就是工作区(正文/、大纲/、追踪/ 直接在工作区根)。 同一目录还可能是多书工作区里的一本书被误传成了 --workspace(书目录自己也含 .story/作者记忆/)。那时按单书布局处理会把书级 state 挪进 书级/、STRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0单书布局的自愈:旧版把书级 state(带 state.book)写在了项目级位置,此后项目级 读写一律失败。带 --book-root {工作区} 运行任一命令时,把它原子移进书级子目录, 再在项目级位置补一份空 state 重建视图。sSTRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0单书布局的自愈:旧版把书级 state(带 state.book)写在了项目级位置,此后项目级 读写一律失败。带 --book-root {工作区} 运行任一命令时,把它原子移进书级子目录, 再在项目级位置补一份空 state 重建视图。sSTRING
HIGHskills/story-review/scripts/author_memory_commit.py0单书布局的自愈:旧版把书级 state(带 state.book)写在了项目级位置,此后项目级 读写一律失败。带 --book-root {工作区} 运行任一命令时,把它原子移进书级子目录, 再在项目级位置补一份空 state 重建视图。sSTRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0单书布局的自愈:旧版把书级 state(带 state.book)写在了项目级位置,此后项目级 读写一律失败。带 --book-root {工作区} 运行任一命令时,把它原子移进书级子目录, 再在项目级位置补一份空 state 重建视图。sSTRING
HIGHskills/story/scripts/author_memory_commit.py0单书布局的自愈:旧版把书级 state(带 state.book)写在了项目级位置,此后项目级 读写一律失败。带 --book-root {工作区} 运行任一命令时,把它原子移进书级子目录, 再在项目级位置补一份空 state 重建视图。sSTRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0同一条偏好的身份:kind+scope+断言,scope.value 与 same_scope_value 同样按 casefold 比——否则「urban」「urban」会各建一条,两条同断言一起挤进 prompt。STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0同一条偏好的身份:kind+scope+断言,scope.value 与 same_scope_value 同样按 casefold 比——否则「urban」「urban」会各建一条,两条同断言一起挤进 prompt。STRING
HIGHskills/story-review/scripts/author_memory_commit.py0同一条偏好的身份:kind+scope+断言,scope.value 与 same_scope_value 同样按 casefold 比——否则「urban」「urban」会各建一条,两条同断言一起挤进 prompt。STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0同一条偏好的身份:kind+scope+断言,scope.value 与 same_scope_value 同样按 casefold 比——否则「urban」「urban」会各建一条,两条同断言一起挤进 prompt。STRING
HIGHskills/story/scripts/author_memory_commit.py0同一条偏好的身份:kind+scope+断言,scope.value 与 same_scope_value 同样按 casefold 比——否则「urban」「urban」会各建一条,两条同断言一起挤进 prompt。STRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0新建条目的断言限一句话。强化已有条目走不到这里——存量长断言必须还能 被确认,否则作者重申老偏好只会派生一条重复条目,库反而更挤。STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0新建条目的断言限一句话。强化已有条目走不到这里——存量长断言必须还能 被确认,否则作者重申老偏好只会派生一条重复条目,库反而更挤。STRING
HIGHskills/story-review/scripts/author_memory_commit.py0新建条目的断言限一句话。强化已有条目走不到这里——存量长断言必须还能 被确认,否则作者重申老偏好只会派生一条重复条目,库反而更挤。STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0新建条目的断言限一句话。强化已有条目走不到这里——存量长断言必须还能 被确认,否则作者重申老偏好只会派生一条重复条目,库反而更挤。STRING
HIGHskills/story/scripts/author_memory_commit.py0新建条目的断言限一句话。强化已有条目走不到这里——存量长断言必须还能 被确认,否则作者重申老偏好只会派生一条重复条目,库反而更挤。STRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0query 的 items 只带这四个字段,给主会话和脚本按 kind/scope 判断用; reason、evidence 等一律不出 store。STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0query 的 items 只带这四个字段,给主会话和脚本按 kind/scope 判断用; reason、evidence 等一律不出 store。STRING
HIGHskills/story-review/scripts/author_memory_commit.py0query 的 items 只带这四个字段,给主会话和脚本按 kind/scope 判断用; reason、evidence 等一律不出 store。STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0query 的 items 只带这四个字段,给主会话和脚本按 kind/scope 判断用; reason、evidence 等一律不出 store。STRING
HIGHskills/story/scripts/author_memory_commit.py0query 的 items 只带这四个字段,给主会话和脚本按 kind/scope 判断用; reason、evidence 等一律不出 store。STRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0重要度→本书例外→最近更新→确认次数→编号。 重要度必须排在 scope 之前:超编时先丢的应当是不重要的条目,而不是「凡 全局一律先丢」。scope 在前会让任意数量的 low 本书琐事挤掉 high 的全局 铁律——那恰恰是作者最不愿意STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0重要度→本书例外→最近更新→确认次数→编号。 重要度必须排在 scope 之前:超编时先丢的应当是不重要的条目,而不是「凡 全局一律先丢」。scope 在前会让任意数量的 low 本书琐事挤掉 high 的全局 铁律——那恰恰是作者最不愿意STRING
HIGHskills/story-review/scripts/author_memory_commit.py0重要度→本书例外→最近更新→确认次数→编号。 重要度必须排在 scope 之前:超编时先丢的应当是不重要的条目,而不是「凡 全局一律先丢」。scope 在前会让任意数量的 low 本书琐事挤掉 high 的全局 铁律——那恰恰是作者最不愿意STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0重要度→本书例外→最近更新→确认次数→编号。 重要度必须排在 scope 之前:超编时先丢的应当是不重要的条目,而不是「凡 全局一律先丢」。scope 在前会让任意数量的 low 本书琐事挤掉 high 的全局 铁律——那恰恰是作者最不愿意STRING
HIGHskills/story/scripts/author_memory_commit.py0重要度→本书例外→最近更新→确认次数→编号。 重要度必须排在 scope 之前:超编时先丢的应当是不重要的条目,而不是「凡 全局一律先丢」。scope 在前会让任意数量的 low 本书琐事挤掉 high 的全局 铁律——那恰恰是作者最不愿意STRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0按渲染后的行把条目装进 query_max_bytes:装不下的跳过而不中断(一条长的 不挡后面的短条)。返回 (结果文档, 全部漏下 id)。 只有 lines 计入预算;items、漏项清单和 `extra`(book_revisionSTRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0按渲染后的行把条目装进 query_max_bytes:装不下的跳过而不中断(一条长的 不挡后面的短条)。返回 (结果文档, 全部漏下 id)。 只有 lines 计入预算;items、漏项清单和 `extra`(book_revisionSTRING
HIGHskills/story-review/scripts/author_memory_commit.py0按渲染后的行把条目装进 query_max_bytes:装不下的跳过而不中断(一条长的 不挡后面的短条)。返回 (结果文档, 全部漏下 id)。 只有 lines 计入预算;items、漏项清单和 `extra`(book_revisionSTRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0按渲染后的行把条目装进 query_max_bytes:装不下的跳过而不中断(一条长的 不挡后面的短条)。返回 (结果文档, 全部漏下 id)。 只有 lines 计入预算;items、漏项清单和 `extra`(book_revisionSTRING
HIGHskills/story/scripts/author_memory_commit.py0按渲染后的行把条目装进 query_max_bytes:装不下的跳过而不中断(一条长的 不挡后面的短条)。返回 (结果文档, 全部漏下 id)。 只有 lines 计入预算;items、漏项清单和 `extra`(book_revisionSTRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0真实查询与写入端估算共用的唯一装填入口:候选已按优先级排好,这里补上 book_revision 等附加字段再装填。两处装填口径一旦分叉就是假阴性——回执 说没事、query 照样丢条。STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0真实查询与写入端估算共用的唯一装填入口:候选已按优先级排好,这里补上 book_revision 等附加字段再装填。两处装填口径一旦分叉就是假阴性——回执 说没事、query 照样丢条。STRING
HIGHskills/story-review/scripts/author_memory_commit.py0真实查询与写入端估算共用的唯一装填入口:候选已按优先级排好,这里补上 book_revision 等附加字段再装填。两处装填口径一旦分叉就是假阴性——回执 说没事、query 照样丢条。STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0真实查询与写入端估算共用的唯一装填入口:候选已按优先级排好,这里补上 book_revision 等附加字段再装填。两处装填口径一旦分叉就是假阴性——回执 说没事、query 照样丢条。STRING
HIGHskills/story/scripts/author_memory_commit.py0真实查询与写入端估算共用的唯一装填入口:候选已按优先级排好,这里补上 book_revision 等附加字段再装填。两处装填口径一旦分叉就是假阴性——回执 说没事、query 照样丢条。STRING
HIGHskills/story-long-write/scripts/author_memory_commit.py0真实查询的纯函数部分:项目级按 kind/scope 过滤(存量 book 条目不参与, migrate 后才回来),书级整个 store 就是这本书的,只按 status/kind 过滤; 合并后按 重要度→本书例外→最近更新 装填。STRING
HIGHskills/story-deslop/scripts/author_memory_commit.py0真实查询的纯函数部分:项目级按 kind/scope 过滤(存量 book 条目不参与, migrate 后才回来),书级整个 store 就是这本书的,只按 status/kind 过滤; 合并后按 重要度→本书例外→最近更新 装填。STRING
HIGHskills/story-review/scripts/author_memory_commit.py0真实查询的纯函数部分:项目级按 kind/scope 过滤(存量 book 条目不参与, migrate 后才回来),书级整个 store 就是这本书的,只按 status/kind 过滤; 合并后按 重要度→本书例外→最近更新 装填。STRING
HIGH…ills/story-short-write/scripts/author_memory_commit.py0真实查询的纯函数部分:项目级按 kind/scope 过滤(存量 book 条目不参与, migrate 后才回来),书级整个 store 就是这本书的,只按 status/kind 过滤; 合并后按 重要度→本书例外→最近更新 装填。STRING
HIGHskills/story/scripts/author_memory_commit.py0真实查询的纯函数部分:项目级按 kind/scope 过滤(存量 book 条目不参与, migrate 后才回来),书级整个 store 就是这本书的,只按 status/kind 过滤; 合并后按 重要度→本书例外→最近更新 装填。STRING
90 more matches not shown…
Hyper-Verbose Identifiers359 hits · 320 pts
SeverityFileLineSnippetContext
LOWscripts/test-agent-permissions.py132def assert_invalid_capabilities_fail_before_publish(capability_lines: str) -> None:CODE
LOWscripts/test-agent-permissions.py193def test_permissions_follow_capabilities_not_names() -> None:CODE
LOWscripts/test-agent-permissions.py244def test_empty_and_inherited_tools_are_distinct() -> None:CODE
LOWscripts/test-agent-permissions.py279def test_codex_recognizes_other_mutating_tools() -> None:CODE
LOWscripts/test-agent-permissions.py300def test_invalid_capability_declarations_fail_closed() -> None:CODE
LOWscripts/sync-shared-assets.py181def unmanaged_duplicate_scripts(root: Path, groups: list[Group]) -> list[tuple[str, list[Path]]]:CODE
LOWscripts/test-scan-runtime-policy.py52def mutate_filename_with_dead_local_date(fixture: Path) -> None:CODE
LOWscripts/test-scan-runtime-policy.py63def mutate_http_get_with_dead_safe_call(fixture: Path) -> None:CODE
LOWscripts/skill-numbering.py356def containing_workflow_parent(document: Document, line_index: int) -> int | None:CODE
LOWscripts/skill-numbering.py650def unparsable_step_heading_issues(document: Document) -> list[Issue]:CODE
LOWscripts/test-long-analyze-runtime-refactor.py99def test_index_existing_supported_forms() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py737def test_legacy_prologue_alignment() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py804def test_legacy_summaries_prologue_way_out() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py830def test_legacy_table_title_variants() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py854def test_fold_prologue_survives_rebuild() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py908def test_relation_chart_never_falls_back_to_pinyin() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py944def test_relation_chart_font_choice() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py997def test_relation_chart_mermaid_edge_cases() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py1021def test_digest_reads_observations_and_fields_without_whole_caches() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py1069def test_plan_next_prints_only_upcoming_batches() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py1086def test_plan_carries_every_dispatch_field() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py1122def test_plot_point_floor_scales_with_chapter_length() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py1162def test_extractor_self_check_patterns_match_commit_format() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py1182def test_extractor_write_guard() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py1228def test_invalid_root_exits_nonzero() -> None:CODE
LOWscripts/test-long-analyze-runtime-refactor.py218def test_inspection_legacy_and_partial() -> None:STRING
LOWscripts/test-long-analyze-runtime-refactor.py272def test_plan_commit_repair_and_state_preservation() -> None:STRING
LOWscripts/test-long-analyze-runtime-refactor.py386def test_split_survives_replanning() -> None:STRING
LOWscripts/test-long-analyze-runtime-refactor.py399def test_panlong_acceptance_samples() -> None:STRING
LOWscripts/test-long-analyze-runtime-refactor.py513def test_audit_recovery_regressions() -> None:STRING
LOWscripts/test-long-analyze-runtime-refactor.py599def test_audit_stage_and_mapping_regressions() -> None:STRING
LOWscripts/test-scan-runtime.js324function testWindowsInvocationBuilder(modulePath) {CODE
LOWscripts/test-scan-runtime.js475function testJjwxcDetailFailureIsolation() {CODE
LOWscripts/test-scan-runtime.js559function testQidianFieldContractAndDescriptionLimit() {CODE
LOWscripts/test-scan-runtime.js751function testQidianCaptchaCheckIgnoresBookText() {CODE
LOWscripts/test-scan-runtime.js768function testQidianLibraryFontDecoding() {CODE
LOWscripts/test-scan-runtime.js1204function testQimaoPartialTargetStatus() {CODE
LOWscripts/test-scan-runtime.js1376function testQimaoLibraryPagedCollection() {CODE
LOWscripts/test-scan-runtime.js1438function testQimaoLibraryPageFailures() {CODE
LOWscripts/test-scan-runtime.js1498function testQimaoLibraryFallbacksAndQuality() {CODE
LOWscripts/test-scan-runtime.js1522function testQimaoLibraryArgumentValidation() {CODE
LOWscripts/test-scan-runtime.js1542function testLongScanArgumentValidation() {CODE
LOWscripts/test-scan-runtime.js1575function testHeiyanFieldDriftAndWordFormat() {CODE
LOWscripts/test-scan-runtime.js2029function testCdpResetRefusesStaleEndpoint() {CODE
LOWscripts/test-scan-runtime.js2068function testCdpResetRefusesUnhealthyTcpHolder() {CODE
LOWscripts/test-scan-runtime.js2085function testCdpResetSucceedsWhenPortActuallyFrees() {CODE
LOWscripts/test-scan-runtime.js2105function testCdpPlainReuseUnchanged() {CODE
LOWscripts/test-scan-runtime.js2123function testCdpRejectsEndpointNotFromThisLaunch() {CODE
LOWscripts/test-scan-runtime.js2146function testCdpRejectsForeignHolderWhileLauncherAlive() {CODE
LOWscripts/test-scan-runtime.js2183function testCdpRejectsPortHeldOutsideSpawnedTree() {CODE
LOWscripts/test-scan-runtime.js2209function testCdpAcceptsPortHeldByLaunchedChildProcess() {CODE
LOWscripts/test-scan-runtime.js2228function testCdpRejectsUnverifiableIdentity() {CODE
LOWscripts/check-current-skill-contracts.py529def undecodable_source_findings(roots: Sequence[Path]) -> List[Finding]:CODE
LOWscripts/check-current-skill-contracts.py628def semantic_primary_fallback_findings(CODE
LOWscripts/check-current-skill-contracts.py735def analyze_moment_routing_findings(repo_root: Path) -> List[Finding]:CODE
LOWscripts/check-current-skill-contracts.py756def analyze_dispatch_default_findings(path: Path) -> List[Finding]:CODE
LOWscripts/check-current-skill-contracts.py853def author_note_preflight_findings(text: str, path: Path) -> List[Finding]:CODE
LOWscripts/check-current-skill-contracts.py945def parse_frontmatter_version(path: Path) -> Optional[str]:CODE
LOWscripts/check-current-skill-contracts.py961def extract_current_version_fields(text: str) -> dict[str, str]:CODE
LOWscripts/check-current-skill-contracts.py989def upgrading_version_findings(CODE
299 more matches not shown…
Decorative Section Separators85 hits · 252 pts
SeverityFileLineSnippetContext
MEDIUMscripts/test-scan-aggregate.py43# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test-scan-aggregate.py45# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/test-scan-aggregate.py561# ---------------------------------------------------------------------------STRING
MEDIUM⚡scripts/test-scan-aggregate.py564# ---------------------------------------------------------------------------STRING
MEDIUMscripts/test-ai-patterns.sh1044# ============================================================COMMENT
MEDIUMscripts/test-ai-patterns.sh1047# ============================================================COMMENT
MEDIUMscripts/test-ai-patterns.sh1300# ── HTML 注释不是正文 ──────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/test-ai-patterns.sh1360# ── review 分类契约:每条 finding 都带 review=semantic|mechanical ────────────────COMMENT
MEDIUMscripts/test-prose-net-parity.sh296# ── B. 命令函数 parity(codex python vs zcode JS),CI 硬保证 ─────────────────COMMENT
MEDIUMscripts/test-prose-net-parity.sh515# ── C. 未归核面 parity(codex python vs JS core),CI 硬保证 ─────────────────────COMMENT
MEDIUMscripts/check-hook-regex-sync.sh148# ── 毒句式 / 兜底网 js↔py 正则与常量同步锁 ──────────────────────────────────────COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py224# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py226# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py412# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py414# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py672# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py674# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py720# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py722# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py962# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py964# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py1076# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py1078# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py1312# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-long-write/scripts/author_memory_commit.py1314# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py224# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py226# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py412# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py414# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py672# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py674# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py720# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py722# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py962# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py964# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py1076# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py1078# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py1312# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-deslop/scripts/author_memory_commit.py1314# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py224# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py226# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py412# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py414# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py672# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py674# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py720# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py722# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py962# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py964# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py1076# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py1078# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py1312# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/story-review/scripts/author_memory_commit.py1314# ---------------------------------------------------------------------------COMMENT
MEDIUM…/story-setup/references/zcode/hooks/story_hook_core.js796// ── 毒句式(确定性 AI 句式指纹,写后正文网热路径)─────────────────────────────COMMENT
MEDIUM…ry-setup/references/templates/hooks/story_hook_core.js796// ── 毒句式(确定性 AI 句式指纹,写后正文网热路径)─────────────────────────────COMMENT
MEDIUM…-setup/references/antigravity/hooks/story_hook_core.js796// ── 毒句式(确定性 AI 句式指纹,写后正文网热路径)─────────────────────────────COMMENT
MEDIUM…lls/story-setup/references/opencode/story_hook_core.js796// ── 毒句式(确定性 AI 句式指纹,写后正文网热路径)─────────────────────────────COMMENT
MEDIUM…ills/story-short-write/scripts/author_memory_commit.py224# ---------------------------------------------------------------------------COMMENT
MEDIUM…ills/story-short-write/scripts/author_memory_commit.py226# ---------------------------------------------------------------------------COMMENT
MEDIUM…ills/story-short-write/scripts/author_memory_commit.py412# ---------------------------------------------------------------------------COMMENT
25 more matches not shown…
Empty Error Handlers34 hits · 170 pts
SeverityFileLineSnippetContext
HIGHscripts/test-agent-permissions.py384except json.JSONDecodeError:CODE
HIGHscripts/test-antigravity-hook-merge.py44except MODULE.MergeError:CODE
HIGHscripts/test-antigravity-skills-deploy.py64except MODULE.DeployError:CODE
HIGHscripts/test-codex-hook-merge.py87except merger.MergeError:CODE
HIGHscripts/sync-opencode.py212except ValueError:CODE
HIGHscripts/sync-opencode.py523except OSError:CODE
HIGHscripts/sync-opencode.py494except OSError:CODE
HIGHscripts/sync-opencode.py508except OSError:CODE
HIGHscripts/generate-codex-agents.py234except OSError:CODE
HIGHscripts/generate-codex-agents.py248except OSError:CODE
HIGHscripts/bench/metrics.py50except (ValueError, KeyError, TypeError):CODE
HIGHskills/story-long-write/scripts/build_writer_prompt.py617except AttributeError:CODE
HIGHskills/story-long-write/scripts/author_memory_commit.py219except FileNotFoundError:CODE
HIGHskills/story-long-write/scripts/tracking_commit.py263except FileNotFoundError:CODE
HIGHskills/story-long-write/scripts/tracking_commit.py300except FileNotFoundError:CODE
HIGHskills/story-deslop/scripts/author_memory_commit.py219except FileNotFoundError:CODE
HIGHskills/story-review/scripts/author_memory_commit.py219except FileNotFoundError:CODE
HIGHskills/story-review/scripts/tracking_commit.py263except FileNotFoundError:CODE
HIGHskills/story-review/scripts/tracking_commit.py300except FileNotFoundError:CODE
HIGHskills/story-import/scripts/tracking_commit.py263except FileNotFoundError:CODE
HIGHskills/story-import/scripts/tracking_commit.py300except FileNotFoundError:CODE
HIGH…story-setup/references/codex/hooks/story_codex_hook.py94except Exception:CODE
HIGH…story-setup/references/codex/hooks/story_codex_hook.py544except (OSError, UnicodeError):CODE
HIGH…story-setup/references/codex/hooks/story_codex_hook.py1630except Exception:CODE
HIGH…story-setup/references/codex/hooks/story_codex_hook.py1657except Exception:CODE
HIGH…story-setup/references/codex/hooks/story_codex_hook.py79except Exception:CODE
HIGH…story-setup/references/codex/hooks/story_codex_hook.py1272except ValueError:CODE
HIGHskills/story-setup/scripts/merge-antigravity-hooks.py59except FileNotFoundError:CODE
HIGH…ills/story-short-write/scripts/author_memory_commit.py219except FileNotFoundError:CODE
HIGHskills/story/scripts/author_memory_commit.py219except FileNotFoundError:CODE
HIGH…ills/story-long-analyze/scripts/build_chapter_index.py64except OSError:CODE
HIGH…ls/story-long-analyze/scripts/render_relation_chart.py77except OSError:CODE
HIGHskills/story-long-analyze/scripts/inspiration_index.py68except OSError:CODE
HIGH…ills/story-long-analyze/scripts/manage_analysis_run.py90except OSError:CODE
Deep Nesting89 hits · 78 pts
SeverityFileLineSnippetContext
LOWscripts/test-agent-permissions.py75CODE
LOWscripts/test-agent-permissions.py244CODE
LOWscripts/test-agent-permissions.py314CODE
LOWscripts/sync-shared-assets.py181CODE
LOWscripts/sync-shared-assets.py211CODE
LOWscripts/shared-references.py80CODE
LOWscripts/shared-references.py301CODE
LOWscripts/skill-numbering.py261CODE
LOWscripts/skill-numbering.py373CODE
LOWscripts/skill-numbering.py537CODE
LOWscripts/skill-numbering.py826CODE
LOWscripts/test-long-analyze-runtime-refactor.py203CODE
LOWscripts/check-current-skill-contracts.py321CODE
LOWscripts/check-current-skill-contracts.py563CODE
LOWscripts/check-current-skill-contracts.py773CODE
LOWscripts/check-current-skill-contracts.py878CODE
LOWscripts/check-current-skill-contracts.py1205CODE
LOWscripts/check-current-skill-contracts.py1244CODE
LOWscripts/test-scan-aggregate.py612CODE
LOWscripts/test-writer-pipeline.py296CODE
LOWscripts/test-author-memory-commit.py169CODE
LOWscripts/sync-opencode.py75CODE
LOWscripts/sync-opencode.py250CODE
LOWscripts/sync-opencode.py415CODE
LOWscripts/static-check.py200CODE
LOWscripts/static-check.py300CODE
LOWscripts/static-check.py381CODE
LOWscripts/static-check.py439CODE
LOWscripts/test-shared-references.py381CODE
LOWscripts/generate-codex-agents.py34CODE
LOWscripts/generate-codex-agents.py187CODE
LOWscripts/bench/metrics.py62CODE
LOWscripts/bench/metrics.py124CODE
LOWskills/story-long-write/scripts/build_writer_prompt.py282CODE
LOWskills/story-long-write/scripts/author_memory_commit.py611CODE
LOWskills/story-long-write/scripts/author_memory_commit.py813CODE
LOWskills/story-long-write/scripts/author_memory_commit.py941CODE
LOWskills/story-long-write/scripts/author_memory_commit.py1615CODE
LOWskills/story-long-write/scripts/tracking_commit.py1357CODE
LOWskills/story-long-write/scripts/tracking_commit.py1609CODE
LOWskills/story-long-write/scripts/outline_view.py63CODE
LOWskills/story-long-write/scripts/outline_view.py126CODE
LOWskills/story-long-write/scripts/outline_view.py177CODE
LOWskills/story-long-write/scripts/storyctl.py480CODE
LOWskills/story-deslop/scripts/author_memory_commit.py611CODE
LOWskills/story-deslop/scripts/author_memory_commit.py813CODE
LOWskills/story-deslop/scripts/author_memory_commit.py941CODE
LOWskills/story-deslop/scripts/author_memory_commit.py1615CODE
LOWskills/story-review/scripts/author_memory_commit.py611CODE
LOWskills/story-review/scripts/author_memory_commit.py813CODE
LOWskills/story-review/scripts/author_memory_commit.py941CODE
LOWskills/story-review/scripts/author_memory_commit.py1615CODE
LOWskills/story-review/scripts/tracking_commit.py1357CODE
LOWskills/story-review/scripts/tracking_commit.py1609CODE
LOWskills/story-import/scripts/tracking_commit.py1357CODE
LOWskills/story-import/scripts/tracking_commit.py1609CODE
LOWskills/story-import/scripts/build_outline_brief.py222CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py328CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py900CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py964CODE
29 more matches not shown…
Unused Imports61 hits · 60 pts
SeverityFileLineSnippetContext
LOWscripts/test-agent-permissions.py4CODE
LOWscripts/test-antigravity-hook-merge.py4CODE
LOWscripts/sync-shared-assets.py8CODE
LOWscripts/shared-references.py4CODE
LOWscripts/test-scan-runtime-policy.py4CODE
LOWscripts/check-short-analysis-scope.py4CODE
LOWscripts/skill-numbering.py10CODE
LOWscripts/generate-codex-hooks.py4CODE
LOWscripts/check-author-reports.py20CODE
LOWscripts/test-long-analyze-runtime-refactor.py4CODE
LOWscripts/test-long-analyze-runtime.py4CODE
LOWscripts/check-current-skill-contracts.py10CODE
LOWscripts/check-reference-similarity.py4CODE
LOWscripts/test-storyctl.py2CODE
LOWscripts/test-claude-plugin-lifecycle.py7CODE
LOWscripts/test-scan-aggregate.py9CODE
LOWscripts/test-tracking-commit.py4CODE
LOWscripts/test-static-check.py4CODE
LOWscripts/check-agent-reference-consumers.py4CODE
LOWscripts/test-antigravity-skills-deploy.py4CODE
LOWscripts/test-author-memory-commit.py4CODE
LOWscripts/test-codex-hook-merge.py4CODE
LOWscripts/check-plugin-packaging.py4CODE
LOWscripts/test-inspiration-index.py4CODE
LOWscripts/test-inspiration-index.py7CODE
LOWscripts/test-inspiration-index.py9CODE
LOWscripts/test-current-skill-contracts.py4CODE
LOWscripts/sync-opencode.py9CODE
LOWscripts/static-check.py4CODE
LOWscripts/test-chapter-completion-lifecycle.py4CODE
LOWscripts/test-doc-budget.py4CODE
LOWscripts/test-shared-assets.py4CODE
LOWscripts/test-plugin-packaging.py4CODE
LOWscripts/test-shared-references.py4CODE
LOWscripts/generate-codex-agents.py9CODE
LOWscripts/test-style-precedence.py7CODE
LOWskills/story-long-write/scripts/author_memory_commit.py14CODE
LOW…ills/story-long-write/scripts/build_architect_brief.py31CODE
LOWskills/story-long-write/scripts/tracking_commit.py10CODE
LOWskills/story-long-write/scripts/wordcount_core.py4CODE
LOWskills/story-long-write/scripts/storyctl.py4CODE
LOWskills/story-deslop/scripts/author_memory_commit.py14CODE
LOWskills/story-review/scripts/author_memory_commit.py14CODE
LOWskills/story-review/scripts/tracking_commit.py10CODE
LOWskills/story-review/scripts/wordcount_core.py4CODE
LOWskills/story-import/scripts/tracking_commit.py10CODE
LOWskills/story-import/scripts/wordcount_core.py4CODE
LOWskills/story-import/scripts/build_outline_brief.py28CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py7CODE
LOWskills/story-setup/scripts/copy-path-safety.py4CODE
LOWskills/story-setup/scripts/merge-codex-hooks.py9CODE
LOWskills/story-setup/scripts/merge-claude-settings.py9CODE
LOWskills/story-setup/scripts/deploy-antigravity-skills.py9CODE
LOWskills/story-setup/scripts/merge-antigravity-hooks.py8CODE
LOW…ills/story-short-write/scripts/author_memory_commit.py14CODE
LOWskills/story/scripts/author_memory_commit.py14CODE
LOW…ills/story-long-analyze/scripts/build_chapter_index.py8CODE
LOW…ls/story-long-analyze/scripts/render_relation_chart.py12CODE
LOWskills/story-long-analyze/scripts/inspiration_index.py10CODE
LOW…ills/story-long-analyze/scripts/manage_analysis_run.py10CODE
1 more matches not shown…
Over-Commented Block51 hits · 50 pts
SeverityFileLineSnippetContext
LOWscripts/check-python-invocation.sh1#!/bin/bashCOMMENT
LOWscripts/test-hook-encoding-portable.sh1#!/bin/bashCOMMENT
LOWscripts/test-charcount-portable.sh1#!/bin/bashCOMMENT
LOWscripts/test-prose-net-parity.sh1#!/bin/bashCOMMENT
LOWscripts/check-doc-budget.sh1#!/bin/bashCOMMENT
LOWskills/story-long-write/scripts/author_memory_commit.py41# 真正读到的这几行,不是 JSON 外壳(编号、kind、scope 只给主会话和脚本看)。COMMENT
LOWskills/story-long-write/scripts/check-ai-patterns.js181// either-or「不是A就是B / 不是A也是B」里紧贴的「是」是连词的一部分,不是肯定项系动词。COMMENT
LOWskills/story-long-write/scripts/check-ai-patterns.js201COMMENT
LOWskills/story-long-write/scripts/check-ai-patterns.js241// 章尾替读者预告下一章走向是 AI 收尾腔。只扫文末窗口(剥引号后可见字数,按行取整),COMMENT
LOWskills/story-long-write/scripts/check-ai-patterns.js261// 基线天然高于长篇章中段,故两个总体分别报数。COMMENT
LOWskills/story-long-write/scripts/check-ai-patterns.js281// not-is-comparison mechanical 固定句式模板「不是A,而是B」,blockingCOMMENT
LOWskills/story-long-write/scripts/check-ai-patterns.js1521 // Catch compact forms such as “不是A是B”, but only within the first clause —COMMENT
LOWskills/story-deslop/scripts/author_memory_commit.py41# 真正读到的这几行,不是 JSON 外壳(编号、kind、scope 只给主会话和脚本看)。COMMENT
LOWskills/story-deslop/scripts/check-ai-patterns.js181// either-or「不是A就是B / 不是A也是B」里紧贴的「是」是连词的一部分,不是肯定项系动词。COMMENT
LOWskills/story-deslop/scripts/check-ai-patterns.js201COMMENT
LOWskills/story-deslop/scripts/check-ai-patterns.js241// 章尾替读者预告下一章走向是 AI 收尾腔。只扫文末窗口(剥引号后可见字数,按行取整),COMMENT
LOWskills/story-deslop/scripts/check-ai-patterns.js261// 基线天然高于长篇章中段,故两个总体分别报数。COMMENT
LOWskills/story-deslop/scripts/check-ai-patterns.js281// not-is-comparison mechanical 固定句式模板「不是A,而是B」,blockingCOMMENT
LOWskills/story-deslop/scripts/check-ai-patterns.js1521 // Catch compact forms such as “不是A是B”, but only within the first clause —COMMENT
LOWskills/story-review/scripts/author_memory_commit.py41# 真正读到的这几行,不是 JSON 外壳(编号、kind、scope 只给主会话和脚本看)。COMMENT
LOWskills/story-review/scripts/check-ai-patterns.js181// either-or「不是A就是B / 不是A也是B」里紧贴的「是」是连词的一部分,不是肯定项系动词。COMMENT
LOWskills/story-review/scripts/check-ai-patterns.js201COMMENT
LOWskills/story-review/scripts/check-ai-patterns.js241// 章尾替读者预告下一章走向是 AI 收尾腔。只扫文末窗口(剥引号后可见字数,按行取整),COMMENT
LOWskills/story-review/scripts/check-ai-patterns.js261// 基线天然高于长篇章中段,故两个总体分别报数。COMMENT
LOWskills/story-review/scripts/check-ai-patterns.js281// not-is-comparison mechanical 固定句式模板「不是A,而是B」,blockingCOMMENT
LOWskills/story-review/scripts/check-ai-patterns.js1521 // Catch compact forms such as “不是A是B”, but only within the first clause —COMMENT
LOWskills/browser-cdp/scripts/setup-cdp-chrome.js1#!/usr/bin/env nodeCOMMENT
LOWskills/browser-cdp/scripts/setup-cdp-chrome.js21// 就是本次启动的实例」——身份取得到且与重建前不同、spawn 出的进程还活着、端口的 LISTENCOMMENT
LOW…/story-setup/references/zcode/hooks/story_hook_core.js801// maskQuotedSpans 为何用问号而不是句号),占位后仍残留引号字符(跨行对话/未闭合)COMMENT
LOW…/story-setup/references/zcode/hooks/story_hook_core.js1241 }COMMENT
LOW…story-setup/references/codex/hooks/story_codex_hook.py201 return FalseCOMMENT
LOW…ory-setup/references/templates/hooks/story_hook_cli.js1#!/usr/bin/env nodeCOMMENT
LOW…ferences/templates/hooks/guard-outline-before-prose.sh1#!/bin/bashCOMMENT
LOW…ferences/templates/hooks/guard-outline-before-prose.sh21# 字面量 vs UTF-8 字节相等)才稳定(issue #164)。路径抽取走 node 共享核,node 自身按 UTF-8COMMENT
LOW…ry-setup/references/templates/hooks/story_hook_core.js801// maskQuotedSpans 为何用问号而不是句号),占位后仍残留引号字符(跨行对话/未闭合)COMMENT
LOW…ry-setup/references/templates/hooks/story_hook_core.js1241 }COMMENT
LOW…up/references/templates/hooks/validate-story-commit.sh61 # 冒号/空白都用交替而不是把全角字符塞进方括号字符组:含全角字符的字符组在 C 区域会被COMMENT
LOW…/references/templates/hooks/check-prose-after-write.sh1#!/bin/bashCOMMENT
LOW…-setup/references/antigravity/hooks/story_hook_core.js801// maskQuotedSpans 为何用问号而不是句号),占位后仍残留引号字符(跨行对话/未闭合)COMMENT
LOW…-setup/references/antigravity/hooks/story_hook_core.js1241 }COMMENT
LOW…lls/story-setup/references/opencode/story_hook_core.js801// maskQuotedSpans 为何用问号而不是句号),占位后仍残留引号字符(跨行对话/未闭合)COMMENT
LOW…lls/story-setup/references/opencode/story_hook_core.js1241 }COMMENT
LOWskills/story-setup/references/opencode/pre-commit.sh1#!/bin/shCOMMENT
LOW…ills/story-short-write/scripts/author_memory_commit.py41# 真正读到的这几行,不是 JSON 外壳(编号、kind、scope 只给主会话和脚本看)。COMMENT
LOWskills/story-short-write/scripts/check-ai-patterns.js181// either-or「不是A就是B / 不是A也是B」里紧贴的「是」是连词的一部分,不是肯定项系动词。COMMENT
LOWskills/story-short-write/scripts/check-ai-patterns.js201COMMENT
LOWskills/story-short-write/scripts/check-ai-patterns.js241// 章尾替读者预告下一章走向是 AI 收尾腔。只扫文末窗口(剥引号后可见字数,按行取整),COMMENT
LOWskills/story-short-write/scripts/check-ai-patterns.js261// 基线天然高于长篇章中段,故两个总体分别报数。COMMENT
LOWskills/story-short-write/scripts/check-ai-patterns.js281// not-is-comparison mechanical 固定句式模板「不是A,而是B」,blockingCOMMENT
LOWskills/story-short-write/scripts/check-ai-patterns.js1521 // Catch compact forms such as “不是A是B”, but only within the first clause —COMMENT
LOWskills/story/scripts/author_memory_commit.py41# 真正读到的这几行,不是 JSON 外壳(编号、kind、scope 只给主会话和脚本看)。COMMENT
Verbosity Indicators25 hits · 39 pts
SeverityFileLineSnippetContext
LOW⚡scripts/test-skill-numbering.sh63### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh71### Step 2: former secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh73#### Step 4: nested firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh77#### Step 8: nested secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh87### Step 7: beta firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh89### Step 9: beta secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh129### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh133### Step 2: insertedCOMMENT
LOW⚡scripts/test-skill-numbering.sh137### Step 3: former secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh139#### Step 1: nested firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh143#### Step 2: nested secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh153### Step 1: beta firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh155### Step 2: beta secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh180### Step 1: only stepCOMMENT
LOW⚡scripts/test-skill-numbering.sh189### Step 9: should become oneCOMMENT
LOW⚡scripts/test-skill-numbering.sh210### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh216### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh253### Step 1: alpha onlyCOMMENT
LOW⚡scripts/test-skill-numbering.sh257### Step 1: beta firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh274### Step 8: alphaCOMMENT
LOW⚡scripts/test-skill-numbering.sh281### Step 9: betaCOMMENT
LOW⚡scripts/test-skill-numbering.sh375### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh382### Step 2: former secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh108assert_contains "$WORK/dry-run.out" "+### Step 2: inserted"CODE
LOW⚡scripts/test-skill-numbering.sh109assert_contains "$WORK/dry-run.out" "+### Step 3: former second"CODE
Structural Annotation Overuse25 hits · 39 pts
SeverityFileLineSnippetContext
LOW⚡scripts/test-skill-numbering.sh63### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh71### Step 2: former secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh73#### Step 4: nested firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh77#### Step 8: nested secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh87### Step 7: beta firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh89### Step 9: beta secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh129### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh133### Step 2: insertedCOMMENT
LOW⚡scripts/test-skill-numbering.sh137### Step 3: former secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh139#### Step 1: nested firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh143#### Step 2: nested secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh153### Step 1: beta firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh155### Step 2: beta secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh180### Step 1: only stepCOMMENT
LOW⚡scripts/test-skill-numbering.sh189### Step 9: should become oneCOMMENT
LOW⚡scripts/test-skill-numbering.sh210### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh216### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh253### Step 1: alpha onlyCOMMENT
LOW⚡scripts/test-skill-numbering.sh257### Step 1: beta firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh274### Step 8: alphaCOMMENT
LOW⚡scripts/test-skill-numbering.sh281### Step 9: betaCOMMENT
LOW⚡scripts/test-skill-numbering.sh375### Step 1: firstCOMMENT
LOW⚡scripts/test-skill-numbering.sh382### Step 2: former secondCOMMENT
LOW⚡scripts/test-skill-numbering.sh108assert_contains "$WORK/dry-run.out" "+### Step 2: inserted"CODE
LOW⚡scripts/test-skill-numbering.sh109assert_contains "$WORK/dry-run.out" "+### Step 3: former second"CODE
Cross-Language Confusion4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHscripts/generate-codex-hooks.py29 'ROOT="$(cd "$ROOT" 2>/dev/null && pwd)" || exit 0; 'CODE
HIGHscripts/test-scan-aggregate.py376u.ab = (port, cmd, target) => { url = target || url; process.stderr.write("OPEN " + url + "\n"); };CODE
HIGHscripts/test-scan-aggregate.py382 if (process.env.STUB_BLOCK_FEMALE && url.includes("audience0")) return {host: "verify.example.com", hasState: false}CODE
HIGHscripts/test-scan-aggregate.py393 return null;CODE
Excessive Try-Catch Wrapping22 hits · 19 pts
SeverityFileLineSnippetContext
LOWscripts/skill-numbering.py845 except Exception:CODE
LOWscripts/check-openclaw-skills.sh62 except Exception:CODE
LOWscripts/check-openclaw-skills.sh88 except Exception as exc:CODE
LOWskills/story-long-write/scripts/storyctl.py56 except Exception as exc:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py39 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py61 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py79 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py94 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py102 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py151 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py475 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py586 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py596 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py1453 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py1455 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py1567 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py1630 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py1645 except Exception:CODE
LOW…story-setup/references/codex/hooks/story_codex_hook.py1657 except Exception:CODE
LOWskills/story-setup/scripts/deploy-antigravity-skills.py104 except Exception:CODE
LOW…ls/story-long-analyze/scripts/render_relation_chart.py231 except Exception: # noqa: BLE001 - any font loading failure means "not usable"CODE
LOW…ls/story-long-analyze/scripts/render_relation_chart.py391 except Exception: # noqa: BLE001 - the Markdown chart is already writtenCODE
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMdemo/长篇/让你管账号,你高燃混剪炸全网/设定/文风.md36## 六、原文 few-shot 锚点COMMENT
MEDIUM…story-setup/references/zcode/hooks/story_zcode_hook.js200 // Hook checks are defensive guardrails. Unexpected parse/filesystem failuresCOMMENT
MEDIUM…s/story-setup/references/antigravity/rules/oh-story.md25## Writing guardrailsCOMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/test-prose-net-parity.sh82 "placeholder": "他打开门。\n(此处省略三百字打斗描写)他赢了。",CODE