AI Slop Code RIsk Monitor

simonlin1212/Vibe-Research

Vibe-Research:A 股、美股、港股的投研工作台 · 自选与持仓、每日复盘、产业资讯、产业研究、个股深挖、回测、研报库,168 个数据端点。支持 Claude Code、Codex、WorkBuddy 订阅或任意模型 API。 | A research workbench for China A-shares, US and HK stocks.

9.0 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for simonlin1212/Vibe-Research, a TypeScript project with 2,664 GitHub stars. SynthScan examined 151,922 lines of code across 685 source files, recording 1163 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 9.0 (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.

9.0
Adjusted Signal
9.0
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
2.7K
Stars
TypeScript
Language
151.9K
Lines of Code
685
Files
1.2K
Pattern Hits
2026-10-12
Scan Date
0.04
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 25.8/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 7.7/100 · LOW

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

Agent Over-Engineering Ratio 29.4/100 · MEDIUM

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

PR Review Velocity Impact 36.3/100 · MEDIUM

Which changes need focused human review? 1163 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 1HIGH 29MEDIUM 26LOW 1107

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 1163 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers793 hits · 837 pts
SeverityFileLineSnippetContext
LOW…nts/skills/data-access/scripts/tests/test_headlines.py29def test_river_parse_timezone_and_filters():CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py76def test_no_keywords_is_unscored_not_irrelevant(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py94def test_rss_fallback_is_loud(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py120def test_both_entries_broken_raises(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py127def test_empty_window_is_partial_not_failure(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py139def test_parse_variants_and_acceptance_rate(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py157def test_future_items_dropped(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py170def test_keyword_precision_context_needs_anchor():CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py188def test_scored_requires_usable_combination(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py201def test_missing_cite_row_is_dropped_not_guessed():CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py210def test_low_accept_rate_forces_partial(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py224def test_rss_without_timezone_is_dropped(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py236def test_hits_survive_evidence_cap(monkeypatch, tmp_path):CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py253def test_context_only_candidates_survive_cap(monkeypatch, tmp_path):CODE
LOW…ta-access/scripts/tests/test_m36_probability_budget.py17def test_later_page_failure_keeps_valid_first_page(monkeypatch, venue, failure):CODE
LOW…ta-access/scripts/tests/test_m36_probability_budget.py47def test_failed_first_page_is_not_a_successful_empty_source(monkeypatch, venue):CODE
LOW…ta-access/scripts/tests/test_m36_probability_budget.py55def test_budget_closes_response_and_refuses_later_requests(monkeypatch):CODE
LOW…ta-access/scripts/tests/test_m36_probability_budget.py83def test_sources_get_separate_budgets_and_restore_context(monkeypatch):CODE
LOW…ta-access/scripts/tests/test_m36_probability_budget.py103def test_every_series_discovery_response_is_recorded(monkeypatch):CODE
LOW⚡…ills/data-access/scripts/tests/test_m31_global_gaps.py6def test_report_currency_not_listing_currency(currency, expected):CODE
LOW⚡…ills/data-access/scripts/tests/test_m31_global_gaps.py11def test_unknown_currency_does_not_invent_money():CODE
LOW⚡…ills/data-access/scripts/tests/test_m31_global_gaps.py18def test_kline_missing_extremes_preserves_close():CODE
LOW⚡…ills/data-access/scripts/tests/test_m31_global_gaps.py24def test_missing_flow_pct_is_not_null_numeric_evidence():CODE
LOW⚡…ills/data-access/scripts/tests/test_m31_global_gaps.py30def test_yahoo_outputs_no_target_price_or_single_firm_rating(monkeypatch):CODE
LOW…ills/data-access/scripts/tests/test_eastmoney_pools.py19def test_upstream_fallback_to_an_earlier_session_is_not_a_pool(monkeypatch):CODE
LOW…ills/data-access/scripts/tests/test_eastmoney_pools.py35def test_today_before_call_auction_match_is_refused_without_asking(monkeypatch, hm, blocked):CODE
LOW…ills/data-access/scripts/tests/test_eastmoney_pools.py51def test_business_error_is_a_failure_not_an_empty_pool(monkeypatch):CODE
LOW…ills/data-access/scripts/tests/test_eastmoney_pools.py68def test_legacy_pool_endpoints_never_write_zero_limit_ups():CODE
LOW…skills/data-access/scripts/tests/test_results_dates.py52def test_hkex_only_exact_code_and_merges_across_categories(monkeypatch):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py68def test_hkex_no_exact_match_is_not_available(monkeypatch):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py74def test_hkex_bad_time_kept_without_date_and_offsite_link_dropped(monkeypatch):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py84def test_hkex_changed_shape_raises(monkeypatch):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py92def test_hkex_empty_category_shapes_mean_no_rows(monkeypatch, empty):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py100def test_hkex_unreadable_result_raises(monkeypatch, bad, msg):CODE
LOW…skills/data-access/scripts/tests/test_results_dates.py186def test_sec_paging_stops_on_total_short_page_or_cap(monkeypatch):CODE
LOW…skills/data-access/scripts/tests/test_results_dates.py202def test_sec_changed_shape_raises(monkeypatch, bad, msg):CODE
LOW…skills/data-access/scripts/tests/test_results_dates.py248def test_map_hk_counts_lists_and_keeps_full_rows_in_extracted(monkeypatch):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py261def test_map_hk_truncated_is_partial(monkeypatch):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py267def test_map_us_empty_mentions_adr_and_cut(monkeypatch):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py274def test_map_us_truncated_is_partial_and_caps_listed_rows(monkeypatch):CODE
LOW⚡…skills/data-access/scripts/tests/test_results_dates.py282def test_map_sec_wording_total_and_accession(monkeypatch):CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py20def test_anchors_from_tag_table(tmp_path):CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py37def test_title_parsing_and_buckets():CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py58def test_isolation_and_mapper(monkeypatch, tmp_path):CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py89def test_no_anchors_is_not_zero_jobs(tmp_path):CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py109def test_raw_recorded_before_parse(monkeypatch, tmp_path):CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py121def test_zero_jobs_is_unverified(monkeypatch, tmp_path):CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py135def test_anchor_dedup_aggregates_tags(tmp_path, monkeypatch):CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py151def test_raw_saved_even_when_json_is_broken(monkeypatch, tmp_path):CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py163def test_record_key_length_guard():CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py171def test_record_key_reserves_room_for_bucket():CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py183def test_no_tags_is_partial_not_failed(tmp_path):CODE
LOW⚡…kills/data-access/scripts/tests/test_core_retrieval.py36def test_upgrades_never_echo_the_key_itself():CODE
LOW⚡…kills/data-access/scripts/tests/test_core_retrieval.py44def test_whitespace_only_key_is_not_a_key():CODE
LOW⚡…kills/data-access/scripts/tests/test_core_retrieval.py50def test_search_stamps_source_and_time(monkeypatch):CODE
LOW⚡…kills/data-access/scripts/tests/test_core_retrieval.py57def test_unknown_provider_fails_loudly():CODE
LOW⚡…kills/data-access/scripts/tests/test_core_retrieval.py65def test_fetch_page_truncates_and_flags(monkeypatch):CODE
LOW⚡…kills/data-access/scripts/tests/test_core_retrieval.py73def test_providers_are_registerable():CODE
LOW⚡…kills/data-access/scripts/tests/test_core_retrieval.py130def test_cdp_url_allowlist_blocks_local_and_nonweb(bad):CODE
LOW⚡…kills/data-access/scripts/tests/test_core_retrieval.py136def test_cdp_url_allowlist_permits_normal_web(monkeypatch):CODE
733 more matches not shown…
Unused Imports169 hits · 163 pts
SeverityFileLineSnippetContext
LOWdatasources/port_astock.py12CODE
LOWdatasources/gen_catalog.py3CODE
LOWdatasources/health.py5CODE
LOW.agents/skills/data-access/scripts/fetch_financials.py12CODE
LOW…ents/skills/data-access/scripts/fetch_announcements.py10CODE
LOW.agents/skills/data-access/scripts/fetch_kline.py9CODE
LOW…nts/skills/data-access/scripts/fetch_trade_calendar.py16CODE
LOW.agents/skills/data-access/scripts/fetch_endpoint.py9CODE
LOW.agents/skills/data-access/scripts/fetch_endpoint.py21CODE
LOW.agents/skills/data-access/scripts/common.py11CODE
LOW.agents/skills/data-access/scripts/fetch_profile.py11CODE
LOW.agents/skills/data-access/scripts/fetch_pe_history.py9CODE
LOW.agents/skills/data-access/scripts/fetch_estimates.py12CODE
LOW.agents/skills/data-access/scripts/fetch_quote.py14CODE
LOW.agents/skills/data-access/scripts/core/cdp.py46CODE
LOW.agents/skills/data-access/scripts/core/exa_client.py12CODE
LOW.agents/skills/data-access/scripts/core/exa_client.py18CODE
LOW.agents/skills/data-access/scripts/core/exa_client.py18CODE
LOW.agents/skills/data-access/scripts/core/exa_client.py18CODE
LOW.agents/skills/data-access/scripts/core/exa_client.py24CODE
LOW.agents/skills/data-access/scripts/core/stdio_utf8.py23CODE
LOW.agents/skills/data-access/scripts/core/retrieval.py60CODE
LOW…nts/skills/data-access/scripts/tests/test_headlines.py2CODE
LOW…ills/data-access/scripts/tests/test_eastmoney_pools.py6CODE
LOW…data-access/scripts/tests/test_audit_round3_sources.py5CODE
LOW.agents/skills/data-access/scripts/tests/test_hiring.py2CODE
LOW…kills/data-access/scripts/tests/test_core_retrieval.py2CODE
LOW…gents/skills/data-access/scripts/tests/test_datacal.py2CODE
LOW…ills/data-access/scripts/tests/test_baostock_paging.py7CODE
LOW…nts/skills/data-access/scripts/tests/test_em_events.py5CODE
LOW…skills/data-access/scripts/tests/test_market_review.py5CODE
LOW…/skills/data-access/scripts/tests/test_market_voice.py3CODE
LOW…ta-access/scripts/tests/test_source_partial_results.py2CODE
LOW…skills/data-access/scripts/tests/test_raw_ref_posix.py2CODE
LOW…ents/skills/data-access/scripts/tests/test_rss_feed.py2CODE
LOW…lls/data-access/scripts/tests/test_registry_sources.py2CODE
LOW…lls/data-access/scripts/tests/test_registry_sources.py9CODE
LOW…ills/data-access/scripts/tests/test_global_industry.py2CODE
LOW…nts/skills/data-access/scripts/tests/test_commodity.py2CODE
LOW.agents/skills/data-access/scripts/tests/test_policy.py2CODE
LOW…nts/skills/data-access/scripts/tests/test_eastmoney.py2CODE
LOW…nts/skills/data-access/scripts/tests/test_eastmoney.py6CODE
LOW…ents/skills/data-access/scripts/tests/test_industry.py2CODE
LOW…skills/data-access/scripts/tests/test_astock_ported.py2CODE
LOW…skills/data-access/scripts/tests/test_astock_ported.py7CODE
LOW…skills/data-access/scripts/tests/test_astock_ported.py11CODE
LOW…s/skills/data-access/scripts/tests/test_probability.py6CODE
LOW…kills/data-access/scripts/tests/test_us_share_class.py3CODE
LOW.agents/skills/data-access/scripts/sources/macro_us.py3CODE
LOW…nts/skills/data-access/scripts/sources/baostock_src.py3CODE
LOW…nts/skills/data-access/scripts/sources/baostock_src.py5CODE
LOW…kills/data-access/scripts/sources/mappers_commodity.py9CODE
LOW.agents/skills/data-access/scripts/sources/rss.py3CODE
LOW.agents/skills/data-access/scripts/sources/datacal.py13CODE
LOW…s/skills/data-access/scripts/sources/mappers_global.py3CODE
LOW…s/skills/data-access/scripts/sources/mappers_global.py5CODE
LOW.agents/skills/data-access/scripts/sources/cninfo.py2CODE
LOW…s/skills/data-access/scripts/sources/mappers_policy.py2CODE
LOW.agents/skills/data-access/scripts/sources/cls.py2CODE
LOW.agents/skills/data-access/scripts/sources/yahoo.py3CODE
109 more matches not shown…
Excessive Try-Catch Wrapping82 hits · 86 pts
SeverityFileLineSnippetContext
LOW.agents/skills/data-access/scripts/fetch_financials.py161 except Exception as e: # noqa: BLE001 — 补齐失败只记录CODE
LOW.agents/skills/data-access/scripts/fetch_financials.py175 except Exception as e: # noqa: BLE001CODE
LOW…ents/skills/data-access/scripts/fetch_announcements.py77 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/fetch_kline.py104 except Exception as e: # noqa: BLE001CODE
LOW…nts/skills/data-access/scripts/fetch_trade_calendar.py91 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/fetch_endpoint.py119 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/fetch_endpoint.py160 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/common.py205 except Exception as e: # noqa: BLE001 — 轮询下一主机CODE
LOW.agents/skills/data-access/scripts/common.py221 except Exception:CODE
LOW.agents/skills/data-access/scripts/common.py309 except Exception: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/fetch_profile.py130 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/fetch_pe_history.py83 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/fetch_estimates.py137 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/fetch_quote.py135 except Exception as e: # noqa: BLE001 — 记录后尝试备源CODE
LOW.agents/skills/data-access/scripts/core/cdp.py267 except Exception as e: # noqa: BLE001 — 连不上是最常见情形,要给能懂的提示CODE
LOW.agents/skills/data-access/scripts/core/exa_client.py111 except Exception as e: # noqa: BLE001 — 超时 / 连接错误统一成 ExaError,信封层 fail-fast 出声CODE
LOW.agents/skills/data-access/scripts/core/retrieval.py345 except Exception as ex: # noqa: BLE001 — 边界统一收口CODE
LOW.agents/skills/data-access/scripts/core/retrieval.py361 except Exception: # noqa: BLE001 — 自定义对象的 __str__ 也可能抛CODE
LOW…gents/skills/data-access/scripts/core/retrieval_cli.py47 except Exception:CODE
LOW.agents/skills/data-access/scripts/sources/macro_us.py81 except Exception as e: # noqa: BLE001 —— 单个系列失败只记原因CODE
LOW.agents/skills/data-access/scripts/sources/rss.py83 except Exception as e: # noqa: BLE001 — 单源失败不拖垮整体,记入结果CODE
LOW.agents/skills/data-access/scripts/sources/datacal.py129 except Exception as e: # noqa: BLE001 — 逐 ticker 隔离,汇总出声CODE
LOW…gents/skills/data-access/scripts/sources/mootdx_src.py41 except Exception: # noqa: BLE001CODE
LOW…gents/skills/data-access/scripts/sources/mootdx_src.py60 except Exception: # noqa: BLE001CODE
LOW…gents/skills/data-access/scripts/sources/mootdx_src.py68 except Exception: # noqa: BLE001CODE
LOW…gents/skills/data-access/scripts/sources/mootdx_src.py109 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/exa.py45 except Exception: # noqa: BLE001 — 拿不到简称就用代码搜,不让线索层拖垮运行CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py707 except Exception: # noqa: BLE001 — 搜索失败则逐个试CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py844 except Exception as e: # noqa: BLE001 分布没了,三所成交额照取CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py878 except Exception as e: # noqa: BLE001 东财 push2 被风控时常断连;家数没了,成交额改用腾讯行情CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py892 except Exception as e2: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py902 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py970 except Exception as e: # noqa: BLE001 换东财再试CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py976 except Exception as e: # noqa: BLE001 单条失败如实记下,其余照常CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py991 except Exception as e: # noqa: BLE001 换 baostockCODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py1009 except Exception as e: # noqa: BLE001 两个源都没有就如实缺CODE
MEDIUM.agents/skills/data-access/scripts/sources/eastmoney.py301def _num_or_none(v) -> Optional[float]:CODE
LOW.agents/skills/data-access/scripts/sources/policy.py105 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/policy.py194 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/policy.py239 except Exception as e: # noqa: BLE001CODE
LOW⚡.agents/skills/data-access/scripts/sources/policy.py329 except Exception as e: # noqa: BLE001CODE
LOW⚡.agents/skills/data-access/scripts/sources/policy.py337 except Exception as e: # noqa: BLE001CODE
LOW⚡.agents/skills/data-access/scripts/sources/policy.py342 except Exception as e: # noqa: BLE001CODE
LOW⚡.agents/skills/data-access/scripts/sources/policy.py347 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/exchange.py32 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/commodity.py189 except Exception as e: # noqa: BLE001 — 逐品种隔离CODE
LOW.agents/skills/data-access/scripts/sources/commodity.py228 except Exception as e: # noqa: BLE001 — 逐源隔离CODE
LOW.agents/skills/data-access/scripts/sources/cboe.py46 except Exception: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/headlines.py208 except Exception: # noqa: BLE001 — 解析失败按"无时间"处理,窗口裁剪时丢弃并计数CODE
LOW.agents/skills/data-access/scripts/sources/headlines.py236 except Exception as e: # noqa: BLE001 — river 失败回退 RSS,但必须出声(RSS 只有 15 条,窗口会不完整)CODE
LOW.agents/skills/data-access/scripts/sources/industry.py156 except Exception as e: # noqa: BLE001 — 每家单独记错,最后再判全灭CODE
LOW.agents/skills/data-access/scripts/sources/industry.py192 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/industry.py199 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/industry.py239 except Exception: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/industry.py287 except Exception as e: # noqa: BLE001CODE
LOW.agents/skills/data-access/scripts/sources/industry.py294 except Exception as e: # noqa: BLE001CODE
LOW…ents/skills/data-access/scripts/sources/probability.py380 except Exception as e: # preserve earlier parsed pages, never claim full coverageCODE
LOW…ents/skills/data-access/scripts/sources/probability.py412 except Exception as e: # noqa: BLE001 — 定向失败不该拖垮广度已拿到的部分,但必须出声CODE
LOW…ents/skills/data-access/scripts/sources/probability.py533 except Exception as e: # preserve earlier parsed pages, never claim full coverageCODE
LOW…ents/skills/data-access/scripts/sources/probability.py560 except Exception as e: # noqa: BLE001CODE
22 more matches not shown…
Decorative Section Separators20 hits · 63 pts
SeverityFileLineSnippetContext
MEDIUM.agents/skills/data-access/scripts/sources/mappers.py164# =====================================================================COMMENT
MEDIUM.agents/skills/data-access/scripts/sources/mappers.py166# =====================================================================COMMENT
MEDIUMdesktop/src/verticals/finance/lib/shareCard.ts123// ───────────────────────── 画卡片 ─────────────────────────COMMENT
MEDIUM⚡backtest/benchmark.py22# -------------------------------------------------------------------COMMENT
MEDIUM⚡backtest/benchmark.py24# -------------------------------------------------------------------COMMENT
MEDIUMbacktest/benchmark.py137# -------------------------------------------------------------------COMMENT
MEDIUMbacktest/benchmark.py139# -------------------------------------------------------------------COMMENT
MEDIUMbacktest/engines/base.py785 # ── External benchmark fetch ──────────────────────────────────────────COMMENT
MEDIUMbacktest/engines/base.py817 # ── External benchmark fetch ──────────────────────────────────────────COMMENT
MEDIUMorchestrator/test/direct_transport.test.ts291// ───────────── 模板的 API 能力声明 ─────────────COMMENT
MEDIUMorchestrator/test/chat.test.ts88// ── 工具:两类大脑同一套规则 ─────────────────────────────────────────────COMMENT
MEDIUMorchestrator/test/chat.test.ts202// ── 会话与上下文 ──────────────────────────────────────────────────────COMMENT
MEDIUMorchestrator/test/chat.test.ts338// ── 内部一次性任务:标题翻译 / 连接探针 ─────────────────────────────────COMMENT
MEDIUMorchestrator/test/chat.test.ts435// ── 输入与会话隔离 ────────────────────────────────────────────────────COMMENT
MEDIUMorchestrator/test/chat.test.ts517// ── 用户在界面上自己配的来源(按请求带下来的 llm) ─────────────────────────COMMENT
MEDIUMorchestrator/test/chat.test.ts628// ── 三家本机 Agent ────────────────────────────────────────────────────COMMENT
MEDIUMorchestrator/test/chat.test.ts663// ── 并发与取消 ────────────────────────────────────────────────────────COMMENT
MEDIUMorchestrator/test/chat.test.ts760// ── 报错收口:不泄密、不透传内部原文 ──────────────────────────────────────COMMENT
MEDIUMorchestrator/test/number_gate.test.ts190// ── 接进对话 ─────────────────────────────────────────────────────COMMENT
MEDIUMorchestrator/src/run_tools.ts221// ─────────────────────────── 工具 registry ───────────────────────────COMMENT
Cross-Language Confusion12 hits · 52 pts
SeverityFileLineSnippetContext
HIGH.agents/skills/data-access/scripts/core/cdp.py582 {"expression": "({href: location.href, text: (document.body && document.body.innerText) || ''})",CODE
HIGH…skills/data-access/scripts/tests/test_market_review.py285 '{"code":"bad","name":"x"},{"code":"600519","name":"贵州茅台","trade":"","changepercent":"-1","amount":"900000CODE
HIGH…lls/data-access/scripts/tests/test_registry_sources.py346 # 第四轮审计 B2:缺报告币种(没有 / 空串 / null)的金额不按上市地补成港元,列进 missing;一条都没有币种 = 失败COMMENT
HIGH…s/skills/data-access/scripts/sources/mappers_astock.py4- 上游返回 DataFrame。先整表转成 JSON 安全的行(NaN → null,numpy 标量 → Python)落一个 extracted_ 文件STRING
HIGHcalc/series.py3输入统一为 [{"period": "YYYY-MM-DD", "value": 数值或 null}] 列表(同一字段、同一单位,顺序任意):STRING
HIGHcalc/display.py110 (多结果函数顶层 value 为 null,四锚年数等在 details 里,报告照抄子结果的 display)。"""STRING
HIGHcalc/cli.py23 display = 展示层字符串(calc/display.py 确定性格式化;status ≠ ok 时为 null),报告正文照抄它、不抄 value 原始浮点。STRING
HIGHbacktest/metrics.py231 undefined,CODE
HIGHbacktest/rebalance_notes.py148 ``_json_safe`` (non-finite -> null) and serialize with ``allow_nan=False``STRING
HIGHbacktest/validation.py513 strict parsers reject. Sanitize with :func:`_json_safe` (non-finite → null)STRING
HIGH⚡backtest/tests/test_loader.py35@pytest.mark.parametrize("stdout", ["not JSON", "[]", '{"errors":null}', '{"errors":[null,7,{"error":42}]}'])CODE
HIGHbacktest/engines/base.py1330 # Zero is always rejected (size = notional / price is undefined);COMMENT
Empty Error Handlers10 hits · 50 pts
SeverityFileLineSnippetContext
HIGH.agents/skills/data-access/scripts/common.py224except OSError:CODE
HIGH.agents/skills/data-access/scripts/core/cdp.py456except (OSError, CdpError):CODE
HIGH.agents/skills/data-access/scripts/core/cdp.py460except OSError:CODE
HIGH.agents/skills/data-access/scripts/core/cdp.py598except CdpError:CODE
HIGH.agents/skills/data-access/scripts/core/cdp.py307except OSError:CODE
HIGH.agents/skills/data-access/scripts/sources/eastmoney.py707except Exception: # noqa: BLE001 — 搜索失败则逐个试CODE
HIGH…s/skills/data-access/scripts/sources/mappers_astock.py41except (TypeError, ValueError, ImportError):CODE
HIGH…s/skills/data-access/scripts/sources/mappers_astock.py46except (ValueError, AttributeError):CODE
HIGHbacktest/engines/china_a.py141except Exception:CODE
HIGHbacktest/engines/base.py925except ValueError:CODE
Deep Nesting48 hits · 47 pts
SeverityFileLineSnippetContext
LOW.agents/skills/data-access/scripts/fetch_financials.py90CODE
LOW.agents/skills/data-access/scripts/fetch_financials.py144CODE
LOW…nts/skills/data-access/scripts/fetch_trade_calendar.py32CODE
LOW.agents/skills/data-access/scripts/common.py129CODE
LOW.agents/skills/data-access/scripts/fetch_pe_history.py23CODE
LOW.agents/skills/data-access/scripts/fetch_estimates.py121CODE
LOW.agents/skills/data-access/scripts/fetch_quote.py113CODE
LOW.agents/skills/data-access/scripts/core/cdp.py232CODE
LOW.agents/skills/data-access/scripts/core/cdp.py464CODE
LOW…gents/skills/data-access/scripts/sources/mootdx_src.py45CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py165CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py383CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py691CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py832CODE
LOW.agents/skills/data-access/scripts/sources/eastmoney.py930CODE
LOW.agents/skills/data-access/scripts/sources/policy.py97CODE
LOW.agents/skills/data-access/scripts/sources/commodity.py159CODE
LOW.agents/skills/data-access/scripts/sources/commodity.py196CODE
LOW…lls/data-access/scripts/sources/mappers_probability.py43CODE
LOW…/skills/data-access/scripts/sources/astock_defaults.py74CODE
LOW…ents/skills/data-access/scripts/sources/probability.py431CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py467CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py755CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py1132CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py1970CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py2048CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py2129CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py2253CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py2849CODE
LOW.agents/skills/data-access/scripts/sources/baidu.py15CODE
LOW.agents/skills/data-access/scripts/sources/textsafe.py63CODE
LOW.agents/skills/data-access/scripts/sources/textsafe.py93CODE
LOW.agents/skills/data-access/scripts/sources/macro.py80CODE
LOWcalc/formulas.py230CODE
LOWcalc/indicators.py31CODE
LOWcalc/cli.py160CODE
LOWcalc/cli.py195CODE
LOWcalc/tests/test_formulas.py20CODE
LOWbacktest/portfolio_xray.py154CODE
LOWbacktest/portfolio_xray.py205CODE
LOWbacktest/event_study.py495CODE
LOWbacktest/portfolio_perf.py122CODE
LOWbacktest/portfolio_perf.py160CODE
LOWbacktest/portfolio_perf.py251CODE
LOWbacktest/portfolio_perf.py484CODE
LOWbacktest/kline.py81CODE
LOWbacktest/engines/base.py977CODE
LOWbacktest/engines/base.py1414CODE
Cross-Language Confusion (JS/TS)3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHorchestrator/test/guided_tool.test.ts188print(json.dumps({"ok": True, "result": _result_view(r)}))`;CODE
HIGHorchestrator/test/debate.test.ts345print(json.dumps({'script':ep,'status':'partial','extra':{'degraded':'复权因子没取到'},'evidence':[{'id':'ev-'+ep,'field':'x','CODE
HIGHorchestrator/test/schedule_watch_job.test.ts41print(json.dumps({'status':'ok','evidence':ev}))CODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGH.agents/skills/data-access/scripts/core/stdio_utf8.py0把 stdin / stdout / stderr 重配为 utf-8。可重复调用。 🔴 **stdin 用 strict,stdout / stderr 用 replace** —— 两端的取舍是相反的: 进来的字节坏了必须**当场报错*STRING
HIGHcalc/stdio_utf8.py0把 stdin / stdout / stderr 重配为 utf-8。可重复调用。 🔴 **stdin 用 strict,stdout / stderr 用 replace** —— 两端的取舍是相反的: 进来的字节坏了必须**当场报错*STRING
HIGHbacktest/stdio_utf8.py0把 stdin / stdout / stderr 重配为 utf-8。可重复调用。 🔴 **stdin 用 strict,stdout / stderr 用 replace** —— 两端的取舍是相反的: 进来的字节坏了必须**当场报错*STRING
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALorchestrator/src/run_tools.ts34 const variant = calcRecordSchema.properties.inputs_refs.items.oneOf.find(v => v.properties.ref_type.const === kind);CODE
Over-Commented Block9 hits · 9 pts
SeverityFileLineSnippetContext
LOW…ents/skills/data-access/scripts/sources/probability.py61_source_deadline: contextvars.ContextVar[Optional[float]] = contextvars.ContextVar("macro_source_deadline", default=NoneCOMMENT
LOWdesktop/src/verticals/finance/hooks/useLiveQuotes.ts1// 自选股快照轮询,不是逐笔实时行情。COMMENT
LOWbacktest/metrics.py21# mootdx (A-share) and futu (HK + A-share) are equity sources, so they mirrorCOMMENT
LOWbacktest/metrics.py41 # data granularity; model as US equity session as a conservative default)COMMENT
LOWbacktest/engines/_market_hooks.py41 (re.compile(r"^[A-Z]+-USDT$", re.I), "crypto"),COMMENT
LOWorchestrator/src/knowledge.ts121 // 档案是**改标题之前**写的 → 一节都匹配不上。契约保证 tail 是连续后缀,所以退到"最后 N 节"COMMENT
LOWorchestrator/src/plugin.ts1461 throw new Error("Plugin.gate.probeLine 必须是非空字符串(硬测试注入、必须被拦住的一行)");COMMENT
LOWorchestrator/src/validator.ts281 }COMMENT
LOWorchestrator/src/finance/gate_rules.ts61 { name: "赔率可参与", re: /(风险收益比|赔率)[^,。;\n]{0,12}(合适|不错|可以参与|值得)/ },COMMENT
AI Slop Vocabulary4 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMwebsite/index.html40 .harness{position:relative;min-height:500px;border:1px solid rgba(243,93,43,.36);border-radius:22px;padding:30px;bacCODE
MEDIUMwebsite/index.html55 <nav class="nav" aria-label="主导航"><div class="wrap nav-inner"><a class="brand" href="#top" aria-label="Vibe-Research 首CODE
MEDIUMbacktest/engines/china_a.py37 config = {**config, "leverage": 1.0} # A-shares: no leverageCODE
MEDIUMbacktest/engines/base.py694 """Return leverage used to size and margin one symbol."""STRING
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHbacktest/risk_xray.py95Compute the risk x-ray for a weighted basket. Args: closes: Close-price panel, one column per symbol, sorteSTRING
Modern Structural Boilerplate3 hits · 4 pts
SeverityFileLineSnippetContext
LOWbacktest/run.py29logger = logging.getLogger(__name__)CODE
LOW⚡backtest/benchmark.py15logger = logging.getLogger(__name__)CODE
LOWbacktest/engines/base.py50logger = logging.getLogger(__name__)CODE
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippetContext
LOWorchestrator/test/deep_engine.test.ts29 start() { throw new ServiceError(code, "/private/fake-user/auth.json private-canary"); },CODE
LOWorchestrator/test/deep_engine.test.ts141 run_id: "placeholder", exists: false, status: null, exit_code: null, stages: [], evidence_count: null,CODE
LOWorchestrator/test/deep_engine.test.ts195 let status: ReturnType<DeepResearchBackend["status"]> = { run_id: "placeholder", exists: false, status: null,CODE
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOW.agents/skills/data-access/scripts/sources/mappers.py51CODE
LOW…ts/skills/data-access/scripts/sources/astock_ported.py218CODE