Repository Analysis

virattt/ai-hedge-fund

An AI Hedge Fund Team

23.2 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of virattt/ai-hedge-fund, a Python project with 61,635 GitHub stars. SynthScan v2.0 examined 53,230 lines of code across 289 source files, recording 744 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 23.2 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

23.2
Adjusted Score
23.2
Raw Score
100%
Time Factor
2026-07-10
Last Push
61.6K
Stars
Python
Language
53.2K
Lines of Code
289
Files
744
Pattern Hits
2026-07-14
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 6MEDIUM 190LOW 548

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 744 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators153 hits · 504 pts
SeverityFileLineSnippetContext
MEDIUMapp/backend/services/ollama_service.py30 # =============================================================================COMMENT
MEDIUMapp/backend/services/ollama_service.py32 # =============================================================================COMMENT
MEDIUMapp/backend/services/ollama_service.py174 # =============================================================================COMMENT
MEDIUMapp/backend/services/ollama_service.py176 # =============================================================================COMMENT
MEDIUMv2/models.py10# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/models.py12# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/models.py39# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/models.py41# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/models.py53# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/models.py55# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/demo/backtest.py41# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/demo/backtest.py43# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/demo/backtest.py66# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/demo/backtest.py68# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/demo/backtest.py108# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/demo/backtest.py110# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/demo/backtest.py219# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/demo/backtest.py221# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/test_event_study.py20# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/test_event_study.py22# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/test_event_study.py102# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/test_event_study.py104# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/test_event_study.py125# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/test_event_study.py127# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/test_event_study.py175# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/test_event_study.py177# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py64# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py66# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py133# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py135# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py208# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py210# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py294# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py296# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py360# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/event_study/engine.py362# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py94 # ------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py96 # ------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py157 # ------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py159 # ------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py202 # ------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py204 # ------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py222 # ------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py224 # ------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py294# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/engine.py296# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/test_backtest.py16# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/test_backtest.py18# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/test_backtest.py68# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/test_backtest.py70# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/test_backtest.py186# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/backtesting/test_backtest.py188# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/signals/test_signals.py29# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/signals/test_signals.py31# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/signals/test_signals.py48# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/signals/test_signals.py50# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/signals/test_llm_agents.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/signals/test_llm_agents.py17# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/signals/test_llm_agents.py70# ---------------------------------------------------------------------------COMMENT
MEDIUMv2/signals/test_llm_agents.py72# ---------------------------------------------------------------------------COMMENT
93 more matches not shown…
Hyper-Verbose Identifiers175 hits · 190 pts
SeverityFileLineSnippetContext
LOW…/src/components/panels/bottom/tabs/backtest-output.tsx301function BacktestPerformanceMetrics({ agentData }: { agentData: Record<string, any> }) {CODE
LOWapp/frontend/src/hooks/use-keyboard-shortcuts.ts68export function useLayoutKeyboardShortcuts(CODE
LOWapp/backend/repositories/flow_run_repository.py108 def delete_flow_runs_by_flow_id(self, flow_id: int) -> int:CODE
LOWapp/backend/routes/language_models.py41async def get_language_model_providers():CODE
LOWapp/backend/routes/ollama.py165async def download_model_with_progress(request: ModelRequest):CODE
LOWapp/backend/services/graph.py180def parse_hedge_fund_response(response):CODE
LOWapp/backend/services/ollama_service.py93 async def download_model_with_progress(self, model_name: str) -> AsyncGenerator[str, None]:CODE
LOWapp/backend/services/ollama_service.py156 def get_all_download_progress(self) -> Dict[str, Dict[str, any]]:CODE
LOWapp/backend/services/ollama_service.py442 def _process_download_progress(self, progress, model_name: str) -> Optional[Dict[str, any]]:CODE
LOWapp/backend/services/backtest_service.py207 def calculate_portfolio_value(self, current_prices: Dict[str, float]) -> float:CODE
LOWapp/backend/services/backtest_service.py238 def _update_performance_metrics(self, performance_metrics: Dict[str, Any]):CODE
LOWtests/test_api_rate_limiting.py12 def test_handles_single_rate_limit(self, mock_get, mock_sleep):CODE
LOWtests/test_api_rate_limiting.py46 def test_handles_multiple_rate_limits(self, mock_get, mock_sleep):CODE
LOWtests/test_api_rate_limiting.py83 def test_handles_post_rate_limiting(self, mock_post, mock_sleep):CODE
LOWtests/test_api_rate_limiting.py118 def test_ignores_other_errors(self, mock_get, mock_sleep):CODE
LOWtests/test_api_rate_limiting.py145 def test_normal_success_requests(self, mock_get, mock_sleep):CODE
LOWtests/test_api_rate_limiting.py220 def test_max_retries_exceeded(self, mock_get, mock_sleep):CODE
LOWtests/test_cli_ticker_alias.py29def test_shared_cli_accepts_documented_ticker_alias() -> None:CODE
LOWtests/test_cli_ticker_alias.py40def test_backtesting_cli_accepts_documented_ticker_alias() -> None:CODE
LOWtests/test_cache.py9 def test_new_cache_has_empty_stores(self):CODE
LOWtests/test_cache.py21 def test_returns_cache_instance(self):CODE
LOWtests/test_cache.py25 def test_returns_same_instance(self):CODE
LOWtests/test_cache.py32 def test_returns_new_data_when_existing_is_none(self):CODE
LOWtests/test_cache.py38 def test_returns_new_data_when_existing_is_empty(self):CODE
LOWtests/test_cache.py43 def test_merges_without_duplicates(self):CODE
LOWtests/test_cache.py53 def test_does_not_mutate_existing_list(self):CODE
LOWtests/test_cache.py70 def test_get_returns_none_for_unknown_ticker(self):CODE
LOWtests/test_cache.py74 def test_deduplicates_by_time(self):CODE
LOWtests/test_cache.py83 def test_different_tickers_are_independent(self):CODE
LOWtests/test_cache.py100 def test_deduplicates_by_report_period(self):CODE
LOWtests/test_cache.py117 def test_deduplicates_by_report_period(self):CODE
LOWtests/test_cache.py134 def test_deduplicates_by_filing_date(self):CODE
LOWtests/test_cache.py152 def test_deduplicates_by_date(self):CODE
LOWtests/backtesting/test_results.py4def test_results_builder_builds_rows_and_summary(monkeypatch, portfolio):CODE
LOWtests/backtesting/test_results.py22 def fake_print_backtest_results(rows):CODE
LOWtests/backtesting/test_valuation.py4def test_calculate_portfolio_value(portfolio, prices):CODE
LOWtests/backtesting/test_valuation.py28def test_compute_exposures_with_no_shorts_ratio_inf(portfolio, prices):CODE
LOWtests/backtesting/test_valuation.py35def test_compute_portfolio_summary(portfolio, prices):CODE
LOWtests/backtesting/test_metrics.py24def test_metrics_insufficient_data_no_update():CODE
LOWtests/backtesting/test_metrics.py33def test_metrics_basic_sharpe_sortino_and_drawdown():CODE
LOWtests/backtesting/test_metrics.py45def test_metrics_zero_volatility_sharpe_zero():CODE
LOWtests/backtesting/test_portfolio.py7def test_apply_long_buy_basic(portfolio: Portfolio) -> None:CODE
LOWtests/backtesting/test_portfolio.py17def test_apply_long_buy_partial_fill_when_insufficient_cash() -> None:CODE
LOWtests/backtesting/test_portfolio.py27def test_apply_long_sell_realized_gain_and_cost_basis_reset(portfolio: Portfolio) -> None:CODE
LOWtests/backtesting/test_portfolio.py40def test_apply_long_sell_clamps_to_owned() -> None:CODE
LOWtests/backtesting/test_portfolio.py49def test_apply_short_open_basic(portfolio: Portfolio) -> None:CODE
LOWtests/backtesting/test_portfolio.py63def test_apply_short_open_partial_when_insufficient_margin_cash() -> None:CODE
LOWtests/backtesting/test_portfolio.py77def test_apply_short_open_uses_available_cash_not_total_cash() -> None:CODE
LOWtests/backtesting/test_portfolio.py95def test_apply_short_cover_realized_gain_and_margin_release(portfolio: Portfolio) -> None:CODE
LOWtests/backtesting/test_portfolio.py113def test_apply_short_cover_clamps_to_existing_short() -> None:CODE
LOWtests/backtesting/test_portfolio.py124def test_zero_or_negative_quantity_is_noop(portfolio: Portfolio, action: str) -> None:CODE
LOWtests/backtesting/test_execution.py4def test_trade_executor_routes_actions(portfolio):CODE
LOWtests/backtesting/test_execution.py21def test_trade_executor_guards_and_unknown_action(portfolio):CODE
LOWtests/backtesting/test_controller.py13def test_agent_controller_normalizes_and_snapshots(portfolio):CODE
LOWtests/backtesting/integration/conftest.py30def _load_price_df_from_fixture(ticker: str, start: str, end: str) -> pd.DataFrame:CODE
LOWtests/backtesting/integration/conftest.py63def _load_financial_metrics_from_fixture(ticker: str, end: str, limit: int) -> list[dict]:CODE
LOWtests/backtesting/integration/conftest.py92def _load_insider_from_fixture(ticker: str, start: str | None, end: str, limit: int) -> list[dict]:CODE
LOWtests/backtesting/integration/conftest.py111 def _fake_get_financial_metrics(ticker: str, end_date: str, period: str = "ttm", limit: int = 10, api_key: str | NonCODE
LOW…backtesting/integration/test_integration_long_short.py5def test_long_short_strategy_partial_exits():CODE
LOW…backtesting/integration/test_integration_long_short.py83def test_long_short_strategy_full_liquidation_to_cash():CODE
115 more matches not shown…
Unused Imports136 hits · 134 pts
SeverityFileLineSnippetContext
LOWapp/backend/main.py4CODE
LOWapp/backend/database/__init__.py1CODE
LOWapp/backend/database/__init__.py1CODE
LOWapp/backend/database/__init__.py1CODE
LOWapp/backend/database/__init__.py2CODE
LOWapp/backend/database/connection.py4CODE
LOWapp/backend/repositories/__init__.py1CODE
LOWapp/backend/repositories/api_key_repository.py4CODE
LOWapp/backend/routes/language_models.py2CODE
LOWapp/backend/routes/language_models.py2CODE
LOWapp/backend/routes/language_models.py2CODE
LOWapp/backend/routes/flow_runs.py8CODE
LOWapp/backend/routes/ollama.py4CODE
LOWapp/backend/services/ollama_service.py3CODE
LOWapp/backend/services/ollama_service.py7CODE
LOWapp/backend/services/ollama_service.py9CODE
LOWapp/backend/services/ollama_service.py10CODE
LOWtests/test_cache.py1CODE
LOWtests/backtesting/test_portfolio.py1CODE
LOWv2/models.py3CODE
LOWv2/analyze.py13CODE
LOWv2/demo/backtest.py21CODE
LOWv2/event_study/plot.py14CODE
LOWv2/event_study/models.py12CODE
LOWv2/event_study/test_event_study.py3CODE
LOWv2/event_study/__init__.py7CODE
LOWv2/event_study/__init__.py8CODE
LOWv2/event_study/__init__.py8CODE
LOWv2/event_study/__init__.py8CODE
LOWv2/event_study/__init__.py8CODE
LOWv2/event_study/__init__.py8CODE
LOWv2/event_study/__init__.py8CODE
LOWv2/event_study/__init__.py16CODE
LOWv2/event_study/__init__.py16CODE
LOWv2/event_study/__init__.py16CODE
LOWv2/event_study/engine.py26CODE
LOWv2/event_study/stats.py8CODE
LOWv2/event_study/__main__.py6CODE
LOWv2/event_study/__main__.py12CODE
LOWv2/llm/client.py12CODE
LOWv2/llm/cache.py13CODE
LOWv2/llm/__init__.py3CODE
LOWv2/llm/__init__.py3CODE
LOWv2/llm/__init__.py4CODE
LOWv2/llm/__init__.py4CODE
LOWv2/llm/__init__.py4CODE
LOWv2/llm/__init__.py4CODE
LOWv2/llm/__init__.py4CODE
LOWv2/backtesting/models.py3CODE
LOWv2/backtesting/__init__.py3CODE
LOWv2/backtesting/__init__.py4CODE
LOWv2/backtesting/__init__.py4CODE
LOWv2/backtesting/__init__.py4CODE
LOWv2/backtesting/engine.py27CODE
LOWv2/backtesting/test_backtest.py3CODE
LOWv2/backtesting/__main__.py6CODE
LOWv2/signals/buffett.py9CODE
LOWv2/signals/test_signals.py3CODE
LOWv2/signals/__init__.py7CODE
LOWv2/signals/__init__.py9CODE
76 more matches not shown…
Excessive Try-Catch Wrapping105 hits · 107 pts
SeverityFileLineSnippetContext
LOWapp/backend/main.py53 except Exception as e:CODE
LOWapp/backend/routes/language_models.py31 except Exception as e:CODE
LOWapp/backend/routes/language_models.py61 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py50 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py82 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py109 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py136 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py166 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py212 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py246 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py274 except Exception as e:CODE
LOWapp/backend/routes/flow_runs.py302 except Exception as e:CODE
LOWapp/backend/routes/hedge_fund.py59 except Exception:CODE
LOWapp/backend/routes/hedge_fund.py159 except Exception as e:CODE
LOWapp/backend/routes/hedge_fund.py216 except Exception:CODE
LOWapp/backend/routes/hedge_fund.py335 except Exception as e:CODE
LOWapp/backend/routes/hedge_fund.py350 except Exception as e:CODE
LOWapp/backend/routes/storage.py43 except Exception as e:CODE
LOWapp/backend/routes/flows.py41 except Exception as e:CODE
LOWapp/backend/routes/flows.py58 except Exception as e:CODE
LOWapp/backend/routes/flows.py80 except Exception as e:CODE
LOWapp/backend/routes/flows.py112 except Exception as e:CODE
LOWapp/backend/routes/flows.py134 except Exception as e:CODE
LOWapp/backend/routes/flows.py156 except Exception as e:CODE
LOWapp/backend/routes/flows.py173 except Exception as e:CODE
LOWapp/backend/routes/api_keys.py38 except Exception as e:CODE
LOWapp/backend/routes/api_keys.py55 except Exception as e:CODE
LOWapp/backend/routes/api_keys.py77 except Exception as e:CODE
LOWapp/backend/routes/api_keys.py104 except Exception as e:CODE
LOWapp/backend/routes/api_keys.py126 except Exception as e:CODE
LOWapp/backend/routes/api_keys.py151 except Exception as e:CODE
LOWapp/backend/routes/api_keys.py178 except Exception as e:CODE
LOWapp/backend/routes/api_keys.py200 except Exception as e:CODE
LOWapp/backend/routes/ollama.py53 except Exception as e:CODE
LOWapp/backend/routes/ollama.py85 except Exception as e:CODE
LOWapp/backend/routes/ollama.py117 except Exception as e:CODE
LOWapp/backend/routes/ollama.py154 except Exception as e:CODE
LOWapp/backend/routes/ollama.py193 except Exception as e:CODE
LOWapp/backend/routes/ollama.py215 except Exception as e:CODE
LOWapp/backend/routes/ollama.py238 except Exception as e:CODE
LOWapp/backend/routes/ollama.py275 except Exception as e:CODE
LOWapp/backend/routes/ollama.py291 except Exception as e:CODE
LOWapp/backend/routes/ollama.py317 except Exception as e:CODE
LOWapp/backend/services/graph.py190 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py228 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py239 except Exception:CODE
LOWapp/backend/services/ollama_service.py270 except Exception:CODE
LOWapp/backend/services/ollama_service.py282 except Exception:CODE
LOWapp/backend/services/ollama_service.py53 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py65 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py77 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py89 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py106 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py120 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py148 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py204 except Exception:CODE
LOWapp/backend/services/ollama_service.py213 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py256 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py301 except Exception as e:CODE
LOWapp/backend/services/ollama_service.py321 except Exception as e:CODE
45 more matches not shown…
Self-Referential Comments22 hits · 66 pts
SeverityFileLineSnippetContext
MEDIUMapp/run.sh221 # Create a temporary directory for log filesCOMMENT
MEDIUMapp/backend/routes/flow_runs.py41 # Create the flow runCOMMENT
MEDIUMapp/backend/routes/health.py18 # Create a JSON object for each pingCOMMENT
MEDIUMapp/backend/routes/hedge_fund.py33 # Create the portfolioCOMMENT
MEDIUMapp/backend/routes/hedge_fund.py183 # Create the portfolio (same as /run endpoint)COMMENT
MEDIUM…/backtesting/integration/test_integration_long_only.py14 # Define the exact trading sequence we want to testCOMMENT
MEDIUM…/backtesting/integration/test_integration_long_only.py104 # Define the exact trading sequence we want to testCOMMENT
MEDIUM…/backtesting/integration/test_integration_long_only.py206 # Define the exact trading sequence we want to testCOMMENT
MEDIUMsrc/tools/api.py65 # Create a cache key that includes all parameters to ensure exact matchesCOMMENT
MEDIUMsrc/tools/api.py107 # Create a cache key that includes all parameters to ensure exact matchesCOMMENT
MEDIUMsrc/tools/api.py191 # Create a cache key that includes all parameters to ensure exact matchesCOMMENT
MEDIUMsrc/tools/api.py257 # Create a cache key that includes all parameters to ensure exact matchesCOMMENT
MEDIUMsrc/agents/warren_buffett.py141 # Create the messageCOMMENT
MEDIUMsrc/agents/sentiment.py120 # Create the sentiment messageCOMMENT
MEDIUMsrc/agents/fundamentals.py145 # Create the fundamental analysis messageCOMMENT
MEDIUMsrc/agents/technicals.py140 # Create the technical analyst messageCOMMENT
MEDIUMsrc/agents/news_sentiment.py138 # Create the sentiment analysisCOMMENT
MEDIUMsrc/agents/nassim_taleb.py156 # Create the messageCOMMENT
MEDIUMsrc/utils/progress.py92 # Create the status text with appropriate stylingCOMMENT
MEDIUMsrc/utils/progress.py115# Create a global instanceCOMMENT
MEDIUMsrc/utils/ollama.py275 # Create a progress barCOMMENT
MEDIUMsrc/data/cache.py16 # Create a set of existing keys for O(1) lookupCOMMENT
Deep Nesting54 hits · 54 pts
SeverityFileLineSnippetContext
LOWapp/backend/main.py33CODE
LOWapp/backend/routes/hedge_fund.py26CODE
LOWapp/backend/routes/hedge_fund.py170CODE
LOWapp/backend/routes/hedge_fund.py63CODE
LOWapp/backend/routes/hedge_fund.py220CODE
LOWapp/backend/services/backtest_service.py60CODE
LOWapp/backend/services/backtest_service.py285CODE
LOWapp/backend/services/portfolio.py6CODE
LOWv2/analyze.py27CODE
LOWv2/llm/client.py78CODE
LOWsrc/llm/models.py151CODE
LOWsrc/backtesting/engine.py96CODE
LOWsrc/graph/state.py21CODE
LOWsrc/graph/state.py24CODE
LOWsrc/agents/peter_lynch.py161CODE
LOWsrc/agents/peter_lynch.py289CODE
LOWsrc/agents/peter_lynch.py396CODE
LOWsrc/agents/rakesh_jhunjhunwala.py17CODE
LOWsrc/agents/rakesh_jhunjhunwala.py162CODE
LOWsrc/agents/rakesh_jhunjhunwala.py246CODE
LOWsrc/agents/rakesh_jhunjhunwala.py437CODE
LOWsrc/agents/rakesh_jhunjhunwala.py498CODE
LOWsrc/agents/warren_buffett.py696CODE
LOWsrc/agents/michael_burry.py173CODE
LOWsrc/agents/stanley_druckenmiller.py166CODE
LOWsrc/agents/stanley_druckenmiller.py273CODE
LOWsrc/agents/stanley_druckenmiller.py351CODE
LOWsrc/agents/technicals.py407CODE
LOWsrc/agents/cathie_wood.py111CODE
LOWsrc/agents/cathie_wood.py210CODE
LOWsrc/agents/phil_fisher.py167CODE
LOWsrc/agents/phil_fisher.py328CODE
LOWsrc/agents/phil_fisher.py461CODE
LOWsrc/agents/portfolio_manager.py25CODE
LOWsrc/agents/news_sentiment.py25CODE
LOWsrc/agents/valuation.py21CODE
LOWsrc/agents/charlie_munger.py161CODE
LOWsrc/agents/charlie_munger.py268CODE
LOWsrc/agents/charlie_munger.py469CODE
LOWsrc/agents/ben_graham.py207CODE
LOWsrc/agents/nassim_taleb.py269CODE
LOWsrc/agents/nassim_taleb.py355CODE
LOWsrc/agents/nassim_taleb.py453CODE
LOWsrc/agents/nassim_taleb.py559CODE
LOWsrc/agents/nassim_taleb.py628CODE
LOWsrc/agents/mohnish_pabrai.py196CODE
LOWsrc/agents/mohnish_pabrai.py253CODE
LOWsrc/agents/risk_manager.py11CODE
LOWsrc/utils/llm.py10CODE
LOWsrc/utils/llm.py87CODE
LOWsrc/utils/llm.py109CODE
LOWsrc/utils/display.py17CODE
LOWsrc/utils/ollama.py114CODE
LOWsrc/utils/ollama.py207CODE
Redundant / Tautological Comments33 hits · 52 pts
SeverityFileLineSnippetContext
LOWdocker/run.sh123# Check if command is providedCOMMENT
LOWdocker/run.sh174 # Check if Ollama is runningCOMMENT
LOWdocker/run.sh226 # Check if the model was successfully pulledCOMMENT
LOWdocker/run.sh244# Check if .env file exists, if not create from .env.exampleCOMMENT
LOWapp/run.sh135 # Check if .env exists in the root directoryCOMMENT
LOWapp/run.sh164 # Check if database already existsCOMMENT
LOWapp/run.sh178 # Check if dependencies are actually installed and workingCOMMENT
LOWapp/run.sh202 # Check if node_modules exists and has contentCOMMENT
LOWapp/run.sh260 # Check if backend started successfullyCOMMENT
LOWapp/run.sh289 # Check if frontend started successfullyCOMMENT
LOWapp/run.sh318 # Check if processes are still runningCOMMENT
LOWapp/backend/repositories/api_key_repository.py23 # Check if API key already exists for this providerCOMMENT
LOW…rsions/3f9a6b7c8d2e_add_hedgefundflowruncycle_table.py22 # Check if columns already exist before adding themCOMMENT
LOW…rsions/3f9a6b7c8d2e_add_hedgefundflowruncycle_table.py71 # Check if table exists before droppingCOMMENT
LOWapp/backend/routes/hedge_fund.py100 # Check if client disconnectedCOMMENT
LOWapp/backend/routes/hedge_fund.py275 # Check if client disconnectedCOMMENT
LOWapp/backend/services/graph.py97 # Check if this is a direct connection from analyst to portfolio managerCOMMENT
LOWapp/backend/services/ollama_service.py234 # Check if already runningCOMMENT
LOWapp/backend/services/ollama_service.py279 # Check if already stoppedCOMMENT
LOWapp/backend/services/ollama_service.py470 # Check if download is completeCOMMENT
LOWsrc/tools/api.py321 # Check if end_date is todayCOMMENT
LOWsrc/llm/models.py188 # Check if OLLAMA_HOST is set (for Docker on macOS)COMMENT
LOWsrc/agents/warren_buffett.py730 # Check if company has been able to maintain high margins consistentlyCOMMENT
LOWsrc/agents/cathie_wood.py136 # Check if growth is accelerating (first growth rate higher than last, since they're in reverse order)COMMENT
LOWsrc/agents/phil_fisher.py278 # Check if margins are stable or improving (comparing oldest to newest)COMMENT
LOWsrc/agents/phil_fisher.py388 # Check if FCF is positive in recent yearsCOMMENT
LOWsrc/agents/charlie_munger.py183 # Check if ROIC consistently above 15% (Munger's threshold)COMMENT
LOWsrc/utils/docker.py88 # Check if the model has been downloadedCOMMENT
LOWsrc/utils/ollama.py136 # Check if it's now installedCOMMENT
LOWsrc/utils/ollama.py193 # Check if it's now installedCOMMENT
LOWsrc/utils/ollama.py321 # Check if Ollama is installedCOMMENT
LOWsrc/utils/ollama.py339 # Check if the model is already downloadedCOMMENT
LOWsrc/utils/ollama.py362 # Check if we're running in DockerCOMMENT
AI Slop Vocabulary10 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMapp/frontend/src/contexts/node-context.tsx123 // Add message to history if it's new - use more robust checkingCOMMENT
MEDIUMsrc/tools/api.py94 # Cache the results using the comprehensive cache keyCOMMENT
MEDIUMsrc/tools/api.py136 # Cache the results as dicts using the comprehensive cache keyCOMMENT
MEDIUMsrc/tools/api.py244 # Cache the results using the comprehensive cache keyCOMMENT
MEDIUMsrc/tools/api.py310 # Cache the results using the comprehensive cache keyCOMMENT
MEDIUMsrc/agents/rakesh_jhunjhunwala.py115 # Create comprehensive analysis summaryCOMMENT
MEDIUMsrc/agents/cathie_wood.py39 # Request multiple periods of data (annual or TTM) for a more robust view.COMMENT
MEDIUMsrc/agents/bill_ackman.py37 # Request multiple periods of data (annual or TTM) for a more robust long-term view.COMMENT
MEDIUMsrc/agents/mohnish_pabrai.py167 # Low leverageCOMMENT
MEDIUMsrc/agents/risk_manager.py223 """Calculate comprehensive volatility metrics from price data."""STRING
Verbosity Indicators11 hits · 22 pts
SeverityFileLineSnippetContext
LOWv2/event_study/engine.py153 # Step 1: Get earnings filings for this tickerCOMMENT
LOWv2/event_study/engine.py158 # Step 2: Drop retrospective rows (e.g., Q4 data parsed from a Q1 8-K)COMMENT
LOWv2/event_study/engine.py163 # Step 3: Fetch stock prices — one call covering all events.COMMENT
LOWv2/event_study/engine.py176 # Step 4: Build aligned return series.COMMENT
LOWv2/event_study/engine.py196 # Step 5: Process each earnings eventCOMMENT
LOWsrc/utils/docker.py12 # Step 1: Check if Ollama service is availableCOMMENT
LOWsrc/utils/docker.py16 # Step 2: Check if model is already availableCOMMENT
LOWsrc/utils/docker.py22 # Step 3: Model not available - ask if user wants to downloadCOMMENT
LOWsrc/utils/docker.py29 # Step 4: Download the modelCOMMENT
LOWsrc/utils/docker.py68 # Step 1: Initiate the downloadCOMMENT
LOWsrc/utils/docker.py80 # Step 2: Monitor the download progressCOMMENT
Structural Annotation Overuse11 hits · 22 pts
SeverityFileLineSnippetContext
LOWv2/event_study/engine.py153 # Step 1: Get earnings filings for this tickerCOMMENT
LOWv2/event_study/engine.py158 # Step 2: Drop retrospective rows (e.g., Q4 data parsed from a Q1 8-K)COMMENT
LOWv2/event_study/engine.py163 # Step 3: Fetch stock prices — one call covering all events.COMMENT
LOWv2/event_study/engine.py176 # Step 4: Build aligned return series.COMMENT
LOWv2/event_study/engine.py196 # Step 5: Process each earnings eventCOMMENT
LOWsrc/utils/docker.py12 # Step 1: Check if Ollama service is availableCOMMENT
LOWsrc/utils/docker.py16 # Step 2: Check if model is already availableCOMMENT
LOWsrc/utils/docker.py22 # Step 3: Model not available - ask if user wants to downloadCOMMENT
LOWsrc/utils/docker.py29 # Step 4: Download the modelCOMMENT
LOWsrc/utils/docker.py68 # Step 1: Initiate the downloadCOMMENT
LOWsrc/utils/docker.py80 # Step 2: Monitor the download progressCOMMENT
Modern Structural Boilerplate18 hits · 18 pts
SeverityFileLineSnippetContext
LOWapp/backend/main.py13logger = logging.getLogger(__name__)CODE
LOWapp/backend/database/__init__.py4__all__ = ["get_db", "engine", "SessionLocal", "Base"]CODE
LOWapp/backend/repositories/__init__.py3__all__ = ["FlowRepository"]CODE
LOWapp/backend/routes/ollama.py10logger = logging.getLogger(__name__)CODE
LOWapp/backend/services/ollama_service.py17logger = logging.getLogger(__name__)CODE
LOWv2/event_study/__init__.py22__all__ = [CODE
LOWv2/event_study/engine.py50logger = logging.getLogger(__name__)CODE
LOWv2/llm/__init__.py6__all__ = [CODE
LOWv2/backtesting/__init__.py10__all__ = [CODE
LOWv2/backtesting/engine.py38logger = logging.getLogger(__name__)CODE
LOWv2/signals/__init__.py19__all__ = [CODE
LOWv2/signals/llm_agent.py33logger = logging.getLogger(__name__)CODE
LOWv2/features/__init__.py15__all__ = [CODE
LOWv2/data/client.py21logger = logging.getLogger(__name__)CODE
LOWv2/data/__init__.py18__all__ = [CODE
LOWsrc/tools/api.py8logger = logging.getLogger(__name__)CODE
LOWsrc/backtesting/metrics.py15 def update_metrics(self, metrics: PerformanceMetrics, values: Sequence[PortfolioValuePoint]) -> None:CODE
LOWsrc/backtesting/__init__.py30__all__ = [CODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsrc/agents/stanley_druckenmiller.py0based on the following analysis, create a phil fisher-style investment signal. analysis data for {ticker}: {analysis_datSTRING
HIGHsrc/agents/cathie_wood.py0based on the following analysis, create a phil fisher-style investment signal. analysis data for {ticker}: {analysis_datSTRING
HIGHsrc/agents/phil_fisher.py0based on the following analysis, create a phil fisher-style investment signal. analysis data for {ticker}: {analysis_datSTRING
Cross-Language Confusion2 hits · 11 pts
SeverityFileLineSnippetContext
HIGHv2/data/models.py40 All ratio/metric fields are nullable (NaN/Inf sanitised to null).STRING
HIGHv2/data/models.py213 # Period-over-period changes (omitted from response if null)COMMENT
Over-Commented Block7 hits · 7 pts
SeverityFileLineSnippetContext
LOWapp/frontend/src/components/Flow.tsx181 // useEffect(() => {COMMENT
LOWapp/frontend/src/lib/utils.ts21 return 'bg-gray-600/20 text-primary border-gray-600/40';COMMENT
LOWapp/backend/alembic.ini1# A generic, single database configuration.COMMENT
LOWapp/backend/alembic.ini21# Any required deps can installed by adding `alembic[tz]` to the pip requirementsCOMMENT
LOWapp/backend/alembic.ini41# The path separator used here should be the separator specified by "version_path_separator" below.COMMENT
LOWapp/backend/alembic.ini61COMMENT
LOWtests/__init__.py1# Tests package COMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHsrc/tools/api.py30 Make an API request with rate limiting handling and moderate backoff. Args: url: The URL to requesSTRING
AI Structural Patterns3 hits · 3 pts
SeverityFileLineSnippetContext
LOWapp/backend/repositories/flow_repository.py47CODE
LOWapp/backend/services/graph.py138CODE
LOWsrc/utils/display.py333CODE