冰冷的钱就这样流进我温暖的口袋-游资(UZI)Skills — 让我们欢迎,股海贼王!66位投资大佬帮你看盘 · 22维数据 × 180条量化规则 × 17种机构分析方法 · A股/港股/美股
This report summarizes scanner evidence for wbh604/UZI-Skill, a Python project with 7,481 GitHub stars. SynthScan examined 77,677 lines of code across 399 source files, recording 2278 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 50.3 (High 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.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 934 finding(s).
Are imports declared and package/API names verified? 454 finding(s).
Are wrappers, guards, and repeated structures necessary? 1726 finding(s).
Which changes need focused human review? 2278 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
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.
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.
The scanner identified 2278 distinct pattern matches across 14 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | skills/deep-analysis/scripts/run_real_test.py | 460 | # ─────────── DIMENSIONS SCORING (rule-based) ─────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/run_real_test.py | 463 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/run_real_test.py | 466 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/preview_with_mock.py | 20 | # ── Mock raw_data with FULL 19-dimension KPIs ────────────────── | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/preview_with_mock.py | 233 | # ── Mock dimensions.json · 全 19 维评分 ───────────────────────── | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/preview_with_mock.py | 279 | # ── Mock panel.json · 50 人 Signal ──────────────────────────── | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/preview_with_mock.py | 368 | # ── Mock synthesis.json ─────────────────────────────────────── | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/preview_with_mock.py | 519 | # ── Assemble ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_contests.py | 40 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_contests.py | 42 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/fetch_contests.py | 131 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/fetch_contests.py | 133 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_contests.py | 159 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_contests.py | 161 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_contests.py | 179 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_contests.py | 181 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_contests.py | 194 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_contests.py | 196 | # ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/compute_deep_methods.py | 38 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/compute_deep_methods.py | 40 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/compute_deep_methods.py | 148 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/compute_deep_methods.py | 150 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/compute_deep_methods.py | 195 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/compute_deep_methods.py | 197 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 23 | # ─── #1 · 注册完整性(按 v3.8.1 加评委 checklist)───────── | COMMENT |
| MEDIUM | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 68 | # ─── #2 · 行为复刻(来自其真实交易模式)────────────────── | COMMENT |
| MEDIUM⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 111 | # ─── #3 · dossier 文档 ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 168 | # ─── cache 测试 ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 207 | # ─── get_hot_mentions 核心场景 ───────────────────────────────────── | COMMENT |
| MEDIUM | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 31 | # ─── fixtures ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 47 | # ─── 平台 parser 测试 ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …is/scripts/tests/test_pr75_pipeline_market_metadata.py | 27 | # ─── #1 · parse_ticker 市场约定 (PR 依赖) ──────────────── | COMMENT |
| MEDIUM⚡ | …is/scripts/tests/test_pr75_pipeline_market_metadata.py | 38 | # ─── #2 · 行为测试 · run_pipeline 保留 market ──────────── | COMMENT |
| MEDIUM⚡ | …is/scripts/tests/test_pr75_pipeline_market_metadata.py | 78 | # ─── #3 · 0_basic.market 优先级 ────────────────────────── | COMMENT |
| MEDIUM⚡ | …is/scripts/tests/test_pr75_pipeline_market_metadata.py | 95 | # ─── #4 · 结构守护 (防 PR 被还原) ──────────────────────── | COMMENT |
| MEDIUM⚡ | …alysis/scripts/tests/test_v2_13_playwright_strategy.py | 38 | # ─── Profile 字段三档默认值 ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …alysis/scripts/tests/test_v2_13_playwright_strategy.py | 98 | # ─── is_playwright_enabled 三档行为 ─────────────────────────────── | COMMENT |
| MEDIUM⚡ | …alysis/scripts/tests/test_v2_13_playwright_strategy.py | 132 | # ─── ensure_playwright_installed 安装策略 ───────────────────────── | COMMENT |
| MEDIUM⚡ | …alysis/scripts/tests/test_v2_13_playwright_strategy.py | 472 | # ─── junk_filter 模块 ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …alysis/scripts/tests/test_v2_13_playwright_strategy.py | 199 | # ─── autofill_via_playwright 核心行为 ─────────────────────────── | COMMENT |
| MEDIUM | …alysis/scripts/tests/test_v2_13_playwright_strategy.py | 316 | # ─── v2.13.2 · 数据质量感知 + FORCE flag ────────────────────────── | COMMENT |
| MEDIUM | …alysis/scripts/tests/test_v2_13_playwright_strategy.py | 443 | # ─── DIM_STRATEGIES 稳定性 ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …lysis/scripts/tests/test_v2_13_5_preflight_adaptive.py | 31 | # ─── Layer 1 · NetworkProfile ───────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …lysis/scripts/tests/test_v2_13_5_preflight_adaptive.py | 159 | # ─── Layer 3 · DIM_STRATEGIES 自适应 ────────────────────────────── | COMMENT |
| MEDIUM⚡ | …lysis/scripts/tests/test_v2_13_5_preflight_adaptive.py | 216 | # ─── Layer 2 · HARD-GATE 文档检查 ──────────────────────────────── | COMMENT |
| MEDIUM | …-analysis/scripts/tests/test_tier1_earnings_preview.py | 35 | # ─── 结构完整性 ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …-analysis/scripts/tests/test_tier1_earnings_preview.py | 65 | # ─── 行业 → 观察指标 ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …-analysis/scripts/tests/test_tier1_earnings_preview.py | 84 | # ─── 一致预期缺失 → 需 web 补充 ────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …-analysis/scripts/tests/test_tier1_earnings_preview.py | 102 | # ─── 隐含波动:A 股 vs 美股/港股 ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | …-analysis/scripts/tests/test_tier1_earnings_preview.py | 118 | # ─── 催化剂清单 ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …-analysis/scripts/tests/test_tier1_earnings_preview.py | 128 | # ─── 鲁棒性:空输入不崩 ───────────────────────────────────────── | COMMENT |
| MEDIUM | …lls/deep-analysis/scripts/tests/test_serenity_rules.py | 43 | # ─── 注册完整性 ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …lls/deep-analysis/scripts/tests/test_serenity_rules.py | 63 | # ─── 派生特征 ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …lls/deep-analysis/scripts/tests/test_serenity_rules.py | 80 | # ─── 卡位决定态度 · 端到端打分 ──────────────────────────────────── | COMMENT |
| MEDIUM | …lls/deep-analysis/scripts/tests/test_serenity_rules.py | 126 | # ─── --school I 锁定 (Serenity 独立成组) ────────────────────────── | COMMENT |
| MEDIUM | …lls/deep-analysis/scripts/tests/test_serenity_rules.py | 142 | # ─── issue #72 · 具身智能 / 人形机器人卡位链 ────────────────────── | COMMENT |
| MEDIUM | …deep-analysis/scripts/tests/test_v3_3_2_issue_fixes.py | 20 | # ─── #50 · svg_sparkline import in institutional.py ─────────────────── | COMMENT |
| MEDIUM⚡ | …deep-analysis/scripts/tests/test_v3_3_2_issue_fixes.py | 51 | # ─── #51 · xueqiu cubes endpoint migration ──────────────────────────── | COMMENT |
| MEDIUM | …cripts/tests/test_v3_8_0_serenity_dupont_indicators.py | 42 | # ─── A · 证据阶梯 ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …cripts/tests/test_v3_8_0_serenity_dupont_indicators.py | 63 | # ─── B · 罚分因子 ───────────────────────────────────────── | COMMENT |
| 401 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run.py | 58 | def _pipeline_fallback_marker_path(ticker: str) -> Path: | CODE |
| LOW | run.py | 63 | def _write_pipeline_fallback_marker(ticker: str, exc: Exception) -> None: | CODE |
| LOW | run.py | 82 | def _clear_pipeline_fallback_marker(ticker: str) -> None: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/run_real_test.py | 122 | def _disarm_mini_racer_sentinel() -> None: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 567 | def _run_modeling_and_scoring(ti, raw: dict) -> dict: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 731 | def _validate_agent_analysis_or_fallback(agent_analysis: dict | None, ticker: str): | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 172 | def _fetch_financial_health_via_mx(code: str, name_hint: str = "") -> dict: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 62 | def _latest_reported_revenue_growth(df, date_col: str) -> tuple[float | None, str | None, str | None]: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 146 | def _fetch_roe_history_via_mx(code: str, name_hint: str = "") -> dict: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 228 | def _apply_operating_cash_flow(out: dict, df_cf) -> None: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 684 | def _apply_financial_staleness(out: dict, latest_dt: datetime | None) -> None: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_fund_holders.py | 69 | def _holding_period_candidates() -> list[str]: | CODE |
| LOW | skills/deep-analysis/scripts/prewarm_cache.py | 92 | def warm_qualitative_searches() -> int: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_industry.py | 110 | def _dynamic_industry_overview(industry: str) -> dict: | CODE |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 46 | def _render_pipeline_fallback_banner(ticker: str) -> str: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_capital_flow.py | 49 | def _universe_release_summary() -> list: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 25 | def test_ghzw_in_db_f_group_flagship(): | CODE |
| LOW⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 34 | def test_ghzw_rules_registered_data_driven(): | CODE |
| LOW | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 51 | def test_ghzw_personas_and_profile(): | CODE |
| LOW⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 79 | def test_ghzw_bullish_on_mainline_limit_up_stock(): | CODE |
| LOW⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 86 | def test_ghzw_bearish_on_white_horse(): | CODE |
| LOW⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 96 | def test_ghzw_skips_us_market(): | CODE |
| LOW⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 103 | def test_ghzw_no_seat_range_false_skip(): | CODE |
| LOW⚡ | skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py | 113 | def test_ghzw_dossier_exists_with_core_stats(): | CODE |
| LOW⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 161 | def test_parser_handles_network_error(isolated_cache): | CODE |
| LOW⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 178 | def test_cache_expires_after_ttl(isolated_cache, monkeypatch): | CODE |
| LOW⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 201 | def test_get_hot_trend_unknown_platform_returns_error(isolated_cache): | CODE |
| LOW⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 209 | def test_get_hot_mentions_matches_by_name(isolated_cache): | CODE |
| LOW⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 259 | def test_get_hot_mentions_skips_short_keywords(isolated_cache): | CODE |
| LOW⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 266 | def test_supported_platforms_has_six(): | CODE |
| LOW⚡ | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 273 | def test_hot_item_to_dict_roundtrip(): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 49 | def test_weibo_parser_extracts_items(isolated_cache): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 68 | def test_zhihu_parser_extracts_items(isolated_cache): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 88 | def test_baidu_parser_extracts_items(isolated_cache): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 108 | def test_bilibili_parser_extracts_items(isolated_cache): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 122 | def test_toutiao_parser_extracts_items(isolated_cache): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 136 | def test_douyin_parser_extracts_items(isolated_cache): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 150 | def test_parser_handles_empty_response(isolated_cache): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 189 | def test_get_hot_trend_uses_cache(isolated_cache): | CODE |
| LOW | …lls/deep-analysis/scripts/tests/test_v2_12_hottrend.py | 236 | def test_get_hot_mentions_handles_platform_failure(isolated_cache): | CODE |
| LOW | …-analysis/scripts/tests/test_agent_review_freshness.py | 13 | def test_fingerprint_accepts_matching_agent_analysis(tmp_path): | CODE |
| LOW | …-analysis/scripts/tests/test_agent_review_freshness.py | 30 | def test_fingerprint_rejects_stale_agent_analysis(tmp_path): | CODE |
| LOW | …-analysis/scripts/tests/test_agent_review_freshness.py | 43 | def test_legacy_analysis_must_not_predate_raw_snapshot(tmp_path): | CODE |
| LOW | …-analysis/scripts/tests/test_agent_review_freshness.py | 58 | def test_deep_context_survives_new_process_without_depth_env(tmp_path, monkeypatch): | CODE |
| LOW⚡ | …-analysis/scripts/tests/test_global_peer_comparison.py | 50 | def test_unknown_exchange_suffix_is_global_not_a_share(): | CODE |
| LOW⚡ | …-analysis/scripts/tests/test_global_peer_comparison.py | 57 | def test_parse_ticker_keeps_existing_market_contract(): | CODE |
| LOW⚡ | …-analysis/scripts/tests/test_global_peer_comparison.py | 63 | def test_to_yahoo_symbol_normalizes_existing_markets(): | CODE |
| LOW⚡ | …-analysis/scripts/tests/test_global_peer_comparison.py | 73 | def test_normalize_yahoo_timeseries_builds_comparable_annual_metrics(): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 12 | def test_parse_ticker_routes_major_global_exchange_suffixes(): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 32 | def test_parse_ticker_routes_additional_global_venues(): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 121 | def test_rank_global_candidates_removes_target_and_secondary_listings(): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 145 | def test_candidate_scale_score_is_not_computed_from_mixed_raw_currencies(): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 160 | def test_yahoo_provider_discovers_and_enriches_global_candidates(): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 228 | def test_build_global_comparison_isolates_failures_and_builds_benchmarks(): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 277 | def test_build_global_comparison_backfills_after_candidate_failure(): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 309 | def test_fetch_peers_attaches_global_comparison_without_breaking_local_data(monkeypatch): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 331 | def test_fetch_peers_global_failure_is_a_visible_nonfatal_gap(monkeypatch): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 349 | def test_global_target_uses_full_yahoo_symbol_for_basic_and_kline(monkeypatch): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 380 | def test_global_target_dispatches_to_yahoo_financials(monkeypatch): | CODE |
| LOW | …-analysis/scripts/tests/test_global_peer_comparison.py | 396 | def test_apply_yearly_fx_preserves_raw_values_and_adds_base_currency_values(): | CODE |
| 775 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | run.py | 39 | except Exception: | CODE |
| HIGH | run.py | 123 | except Exception: | CODE |
| HIGH | run.py | 462 | except Exception as _e: | CODE |
| HIGH | run.py | 371 | except Exception: | CODE |
| HIGH | skills/deep-analysis/run.py | 37 | except Exception: | CODE |
| HIGH | skills/deep-analysis/run.py | 91 | except Exception: | CODE |
| HIGH | skills/deep-analysis/run.py | 299 | except Exception as _e: | CODE |
| HIGH | skills/deep-analysis/scripts/run_real_test.py | 118 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/run_real_test.py | 127 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/run_real_test.py | 195 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/run_real_test.py | 454 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/run_real_test.py | 509 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/run_real_test.py | 334 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/run_real_test.py | 219 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_trap_signals.py | 64 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_research.py | 80 | except (ValueError, TypeError): | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 422 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 610 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 616 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 620 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 387 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 508 | except (TypeError, ValueError): | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 513 | except (TypeError, ValueError): | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 518 | except (TypeError, ValueError): | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 488 | except (TypeError, ValueError): | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_financials.py | 499 | except (TypeError, ValueError): | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_fund_holders.py | 195 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_fund_holders.py | 169 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_valuation.py | 276 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_valuation.py | 313 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_valuation.py | 326 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_kline.py | 255 | except _st.StatisticsError: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_kline.py | 210 | except (ValueError, TypeError): | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_governance.py | 20 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_governance.py | 27 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_materials.py | 133 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_events.py | 282 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_contests.py | 48 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_peers.py | 172 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/assemble_report.py | 40 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_capital_flow.py | 220 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_capital_flow.py | 107 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_capital_flow.py | 186 | except (ValueError, TypeError): | CODE |
| HIGH | skills/deep-analysis/scripts/fetch_capital_flow.py | 215 | except Exception: | CODE |
| HIGH | …nalysis/scripts/tests/test_v3_6_0_phase_c_portfolio.py | 70 | except FileNotFoundError: | CODE |
| HIGH | …p-analysis/scripts/tests/test_issue73_74_robustness.py | 91 | except TypeError: | CODE |
| HIGH | …cripts/tests/test_v3_4_3_mutual_fund_classification.py | 42 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/portfolio_runner.py | 411 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/news_providers.py | 73 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/self_review.py | 100 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/self_review.py | 133 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/self_review.py | 294 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/self_review.py | 144 | except ValueError: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/update_check.py | 82 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/playwright_fallback.py | 231 | except Exception: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/cache.py | 109 | except (ImportError, ModuleNotFoundError, ValueError, TypeError): | CODE |
| HIGH | skills/deep-analysis/scripts/lib/cache.py | 57 | except (json.JSONDecodeError, KeyError): | CODE |
| HIGH | skills/deep-analysis/scripts/lib/quant_signal.py | 60 | except ValueError: | CODE |
| HIGH | skills/deep-analysis/scripts/lib/segmental_model.py | 177 | except (ValueError, TypeError): | CODE |
| HIGH | skills/deep-analysis/scripts/lib/segmental_model.py | 183 | except (ValueError, TypeError): | CODE |
| 29 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | screen.py | 3 | CODE | |
| LOW | run.py | 20 | CODE | |
| LOW | skills/deep-analysis/run.py | 20 | CODE | |
| LOW | skills/deep-analysis/scripts/render_panel_web.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/screen.py | 3 | CODE | |
| LOW | skills/deep-analysis/scripts/gen_pixel_avatars.py | 11 | CODE | |
| LOW | skills/deep-analysis/scripts/gen_pixel_avatars.py | 15 | CODE | |
| LOW | skills/deep-analysis/scripts/gen_pixel_avatars.py | 16 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 8 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 31 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 34 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 467 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 467 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 467 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 467 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 467 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_trap_signals.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_research.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_research.py | 29 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 21 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 30 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_fund_holders.py | 34 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_macro.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_macro.py | 8 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_macro.py | 8 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_valuation.py | 5 | CODE | |
| LOW | skills/deep-analysis/scripts/render_war_report.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/preview_with_mock.py | 6 | CODE | |
| LOW | skills/deep-analysis/scripts/preview_with_mock.py | 8 | CODE | |
| LOW | skills/deep-analysis/scripts/prewarm_cache.py | 26 | CODE | |
| LOW | skills/deep-analysis/scripts/prewarm_cache.py | 29 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_similar_stocks.py | 10 | CODE | |
| LOW | skills/deep-analysis/scripts/compute_friendly.py | 12 | CODE | |
| LOW | skills/deep-analysis/scripts/compute_friendly.py | 15 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_moat.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_futures.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_materials.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_events.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_contests.py | 29 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_contests.py | 30 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_policy.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_policy.py | 9 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_industry.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_industry.py | 9 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_peers.py | 2 | CODE | |
| LOW | skills/deep-analysis/scripts/inline_assets.py | 8 | CODE | |
| LOW | skills/deep-analysis/scripts/review_stage_output.py | 21 | CODE | |
| LOW | skills/deep-analysis/scripts/review_stage_output.py | 23 | CODE | |
| LOW | skills/deep-analysis/scripts/compute_deep_methods.py | 14 | CODE | |
| LOW | skills/deep-analysis/scripts/compute_deep_methods.py | 23 | CODE | |
| LOW | skills/deep-analysis/scripts/render_share_card.py | 6 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 6 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 68 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 83 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 83 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 83 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 83 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 83 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 83 | CODE | |
| LOW | skills/deep-analysis/scripts/assemble_report.py | 83 | CODE | |
| 381 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run.py | 39 | except Exception: | CODE |
| LOW | run.py | 109 | except Exception as e: | CODE |
| LOW | run.py | 123 | except Exception: | CODE |
| LOW | run.py | 371 | except Exception: | CODE |
| LOW | run.py | 389 | except Exception as _e: | CODE |
| LOW | run.py | 448 | except Exception: | CODE |
| LOW | run.py | 462 | except Exception as _e: | CODE |
| LOW | run.py | 479 | except Exception: | CODE |
| LOW | run.py | 558 | except Exception as _e: | CODE |
| LOW | run.py | 728 | except Exception as e: | CODE |
| LOW | docs/TEST-PLAN-v2.10.3.md | 138 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/run.py | 37 | except Exception: | CODE |
| LOW | skills/deep-analysis/run.py | 77 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/run.py | 91 | except Exception: | CODE |
| LOW | skills/deep-analysis/run.py | 285 | except Exception: | CODE |
| LOW | skills/deep-analysis/run.py | 299 | except Exception as _e: | CODE |
| LOW | skills/deep-analysis/run.py | 344 | except Exception as _e: | CODE |
| LOW | skills/deep-analysis/run.py | 414 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/gen_pixel_avatars.py | 34 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/gen_pixel_avatars.py | 54 | except Exception as e: | CODE |
| MEDIUM | skills/deep-analysis/scripts/run_real_test.py | 399 | def _fund_holders(): | CODE |
| MEDIUM | skills/deep-analysis/scripts/run_real_test.py | 412 | def _similar_stocks(): | CODE |
| LOW⚡ | skills/deep-analysis/scripts/run_real_test.py | 118 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/run_real_test.py | 127 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/run_real_test.py | 454 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 23 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 139 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 163 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 195 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 219 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 286 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 334 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 366 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 409 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 417 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 435 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 509 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 713 | except Exception as _af_e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 725 | except Exception as _pwe: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 756 | except Exception as _ve: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 863 | except Exception as _e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 882 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 888 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 904 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_trap_signals.py | 64 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_research.py | 23 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_research.py | 47 | except Exception: | CODE |
| MEDIUM | skills/deep-analysis/scripts/fetch_financials.py | 34 | def _to_float(v) -> float: | CODE |
| MEDIUM | skills/deep-analysis/scripts/fetch_financials.py | 695 | def _fetch_us(ti) -> dict: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 164 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 177 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 185 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 387 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 389 | except Exception as e: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 610 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 616 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 620 | except Exception: | CODE |
| LOW⚡ | skills/deep-analysis/scripts/fetch_financials.py | 624 | except Exception as e: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 151 | except Exception: | CODE |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 281 | except Exception as e: | CODE |
| 273 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run.py | 316 | CODE | |
| LOW | run.py | 342 | CODE | |
| LOW | run.py | 489 | CODE | |
| LOW | skills/deep-analysis/run.py | 304 | CODE | |
| LOW | skills/deep-analysis/scripts/render_panel_web.py | 50 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 171 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 517 | CODE | |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 761 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 172 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 257 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 695 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_financials.py | 784 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_fund_holders.py | 76 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_fund_holders.py | 200 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_fund_holders.py | 235 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_valuation.py | 91 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_valuation.py | 131 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_valuation.py | 240 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_governance.py | 9 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_futures.py | 58 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_events.py | 217 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_contests.py | 197 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_policy.py | 12 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_policy.py | 61 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_peers.py | 67 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_peers.py | 127 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_chain.py | 19 | CODE | |
| LOW | skills/deep-analysis/scripts/fetch_capital_flow.py | 87 | CODE | |
| LOW | …alysis/scripts/tests/test_v2_11_scoring_calibration.py | 28 | CODE | |
| LOW | …analysis/scripts/tests/test_v2_15_2_network_enhance.py | 46 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/personas.py | 57 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/mx_api.py | 44 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/portfolio_runner.py | 38 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/global_peers.py | 109 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/global_peers.py | 397 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/global_peers.py | 438 | CODE | |
| LOW | …/deep-analysis/scripts/lib/agent_analysis_validator.py | 65 | CODE | |
| LOW | …lls/deep-analysis/scripts/lib/deep_analysis_methods.py | 122 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/self_review.py | 118 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/self_review.py | 695 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/panel_evidence.py | 48 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/xueqiu_browser.py | 190 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/playwright_fallback.py | 202 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/playwright_fallback.py | 244 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/playwright_fallback.py | 491 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/cache.py | 76 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/quant_signal.py | 102 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/segmental_model.py | 100 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/lhb_evidence.py | 6 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/hottrend.py | 333 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/versus_runner.py | 140 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/feature_evidence.py | 12 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/data_sources.py | 356 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/data_sources.py | 790 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/data_sources.py | 919 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/data_sources.py | 1063 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/data_sources.py | 1185 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/data_sources.py | 1494 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/network_preflight.py | 250 | CODE | |
| LOW | skills/deep-analysis/scripts/lib/network_preflight.py | 291 | CODE | |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | run.py | 243 | "curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-l | CODE |
| HIGH | skills/deep-analysis/run.py | 211 | "curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-l | CODE |
| HIGH | skills/deep-analysis/scripts/render_share_card.py | 4 | Requires: pip install playwright && playwright install chromium | STRING |
| HIGH | skills/deep-analysis/scripts/render_share_card.py | 15 | print("[!] playwright not installed. Run: pip install playwright && playwright install chromium") | CODE |
| HIGH | skills/deep-analysis/scripts/render_share_card.py | 33 | page.evaluate("document.fonts && document.fonts.ready") | CODE |
| HIGH | …lls/deep-analysis/scripts/tests/test_no_regressions.py | 4 | cd skills/deep-analysis/scripts && python3 -m pytest tests/test_no_regressions.py -v | STRING |
| HIGH | …lls/deep-analysis/scripts/tests/test_no_regressions.py | 7 | cd skills/deep-analysis/scripts && python3 tests/test_no_regressions.py | STRING |
| HIGH | skills/deep-analysis/scripts/lib/update_check.py | 199 | f" git clone: cd UZI-Skill && git pull\n" | CODE |
| HIGH | skills/deep-analysis/scripts/lib/xueqiu_browser.py | 72 | print("❌ Playwright 未安装。请运行:pip install playwright && playwright install chromium") | CODE |
| HIGH | …eep-analysis/scripts/lib/pipeline/preflight_helpers.py | 75 | print(f" · 完整跑请 UZI_LITE=0 && python run.py <ticker>\n") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | skills/investor-panel/SKILL.md | 57 | ### Step 1: 加载元数据 | COMMENT |
| LOW⚡ | skills/investor-panel/SKILL.md | 63 | ### Step 2: 对每位投资者 | COMMENT |
| LOW⚡ | skills/investor-panel/SKILL.md | 70 | ### Step 3: 游资射程预过滤(F 组特殊) | COMMENT |
| LOW⚡ | skills/investor-panel/SKILL.md | 75 | ### Step 4: 汇总投票 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install-hermes.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | skills/deep-analysis/references/task4-synthesis.md | 21 | # d20["lbo"] — IRR + MOIC + verdict | COMMENT |
| LOW | skills/deep-analysis/scripts/run_real_test.py | 61 | ] | COMMENT |
| LOW | skills/deep-analysis/scripts/lib/investor_knowledge.py | 21 | from typing import Any | COMMENT |
| LOW | skills/deep-analysis/scripts/lib/analysis_profile.py | 81 | COMMENT | |
| LOW | skills/deep-analysis/scripts/lib/analysis_profile.py | 101 | # Profile 定义 | COMMENT |
| LOW | skills/deep-analysis/scripts/lib/market_router.py | 81 | # 50xxxx / 51xxxx / 52xxxx / 56xxxx / 58xxxx · ETF | COMMENT |
| LOW | skills/deep-analysis/assets/report-template.html | 2201 | #war-report { width: 1920px; height: 1080px; padding: 70px 90px; } | COMMENT |
| LOW | skills/deep-analysis/assets/report-template.html | 2221 | line-height: 1.4; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run.py | 311 | def _set_direct_report_path(args, report_path: str | Path) -> None: | CODE |
| LOW | skills/deep-analysis/scripts/lib/__init__.py | 6 | __all__ = [ | CODE |
| LOW | skills/deep-analysis/scripts/lib/pipeline/__init__.py | 23 | __all__ = [ | CODE |
| LOW | …eep-analysis/scripts/lib/pipeline/renderer/__init__.py | 13 | __all__ = ["SectionRenderer", "RenderContext", "RENDERER_REGISTRY", "get_renderer", "list_renderers"] | CODE |
| LOW | …eep-analysis/scripts/lib/pipeline/fetchers/__init__.py | 16 | __all__ = ["get_fetcher", "list_fetchers", "FETCHER_REGISTRY"] | CODE |
| LOW | …lls/deep-analysis/scripts/lib/daily_screen/__init__.py | 5 | __all__ = ["run_daily_screen"] | CODE |
| LOW | skills/deep-analysis/scripts/lib/tier1/__init__.py | 21 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | skills/deep-analysis/scripts/fetch_financials.py | 380 | # 质量标签:权益乘数 >2.5(高杠杆) 且净利率偏低 → leverage-driven(风险) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …is/scripts/tests/test_feature_evidence_and_holdings.py | 299 | @pytest.mark.parametrize("placeholder", ["—", "-", "N/A", " "]) | CODE |
| LOW⚡ | skills/deep-analysis/scripts/lib/self_review.py | 328 | BAD_MARKERS = ["[脚本占位]", "[TODO]", "PLACEHOLDER", "占位符", "[未实现]", "placeholder"] | CODE |
| LOW⚡ | skills/deep-analysis/scripts/lib/self_review.py | 324 | """synthesis 里不能有 '[脚本占位]' / '[TODO]' / 'placeholder'""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/deep-analysis/scripts/lib/data_integrity.py | 131 | # Check if the dim has any non-empty string/list/number in its values | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/deep-analysis/scripts/lib/daily_screen/runner.py | 50 | CODE |