An AI Hedge Fund Team
622 matches across 12 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | app/backend/services/ollama_service.py | 30 | # ============================================================================= |
| MEDIUM | app/backend/services/ollama_service.py | 32 | # ============================================================================= |
| MEDIUM | app/backend/services/ollama_service.py | 174 | # ============================================================================= |
| MEDIUM | app/backend/services/ollama_service.py | 176 | # ============================================================================= |
| MEDIUM | v2/models.py | 10 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/models.py | 12 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/models.py | 34 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/models.py | 36 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/models.py | 48 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/models.py | 50 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/test_event_study.py | 20 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/test_event_study.py | 22 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/test_event_study.py | 102 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/test_event_study.py | 104 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/test_event_study.py | 125 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/test_event_study.py | 127 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/test_event_study.py | 175 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/test_event_study.py | 177 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 64 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 66 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 133 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 135 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 208 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 210 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 294 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 296 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 360 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/event_study/engine.py | 362 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/engine.py | 106 | # ------------------------------------------------------------------ |
| MEDIUM | v2/backtesting/engine.py | 108 | # ------------------------------------------------------------------ |
| MEDIUM | v2/backtesting/engine.py | 175 | # ------------------------------------------------------------------ |
| MEDIUM | v2/backtesting/engine.py | 177 | # ------------------------------------------------------------------ |
| MEDIUM | v2/backtesting/engine.py | 188 | # ------------------------------------------------------------------ |
| MEDIUM | v2/backtesting/engine.py | 190 | # ------------------------------------------------------------------ |
| MEDIUM | v2/backtesting/engine.py | 246 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/engine.py | 248 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 15 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 17 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 53 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 55 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 75 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 77 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 128 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 130 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 230 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 232 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 273 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/backtesting/test_backtest.py | 275 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/signals/base.py | 37 | # ------------------------------------------------------------------ |
| MEDIUM | v2/signals/base.py | 39 | # ------------------------------------------------------------------ |
| MEDIUM | v2/data/models.py | 15 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 17 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 32 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 34 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 104 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 106 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 129 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 131 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 145 | # --------------------------------------------------------------------------- |
| MEDIUM | v2/data/models.py | 147 | # --------------------------------------------------------------------------- |
| 57 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …/src/components/panels/bottom/tabs/backtest-output.tsx | 301 | function BacktestPerformanceMetrics({ agentData }: { agentData: Record<string, any> }) { |
| LOW | app/frontend/src/hooks/use-keyboard-shortcuts.ts | 68 | export function useLayoutKeyboardShortcuts( |
| LOW | app/backend/repositories/flow_run_repository.py | 108 | def delete_flow_runs_by_flow_id(self, flow_id: int) -> int: |
| LOW | app/backend/routes/language_models.py | 41 | async def get_language_model_providers(): |
| LOW | app/backend/routes/ollama.py | 165 | async def download_model_with_progress(request: ModelRequest): |
| LOW | app/backend/services/graph.py | 180 | def parse_hedge_fund_response(response): |
| LOW | app/backend/services/ollama_service.py | 93 | async def download_model_with_progress(self, model_name: str) -> AsyncGenerator[str, None]: |
| LOW | app/backend/services/ollama_service.py | 156 | def get_all_download_progress(self) -> Dict[str, Dict[str, any]]: |
| LOW | app/backend/services/ollama_service.py | 442 | def _process_download_progress(self, progress, model_name: str) -> Optional[Dict[str, any]]: |
| LOW | app/backend/services/backtest_service.py | 207 | def calculate_portfolio_value(self, current_prices: Dict[str, float]) -> float: |
| LOW | app/backend/services/backtest_service.py | 238 | def _update_performance_metrics(self, performance_metrics: Dict[str, Any]): |
| LOW | tests/test_api_rate_limiting.py | 12 | def test_handles_single_rate_limit(self, mock_get, mock_sleep): |
| LOW | tests/test_api_rate_limiting.py | 46 | def test_handles_multiple_rate_limits(self, mock_get, mock_sleep): |
| LOW | tests/test_api_rate_limiting.py | 83 | def test_handles_post_rate_limiting(self, mock_post, mock_sleep): |
| LOW | tests/test_api_rate_limiting.py | 118 | def test_ignores_other_errors(self, mock_get, mock_sleep): |
| LOW | tests/test_api_rate_limiting.py | 145 | def test_normal_success_requests(self, mock_get, mock_sleep): |
| LOW | tests/test_api_rate_limiting.py | 220 | def test_max_retries_exceeded(self, mock_get, mock_sleep): |
| LOW | tests/test_cli_ticker_alias.py | 29 | def test_shared_cli_accepts_documented_ticker_alias() -> None: |
| LOW | tests/test_cli_ticker_alias.py | 40 | def test_backtesting_cli_accepts_documented_ticker_alias() -> None: |
| LOW | tests/test_cache.py | 9 | def test_new_cache_has_empty_stores(self): |
| LOW | tests/test_cache.py | 21 | def test_returns_cache_instance(self): |
| LOW | tests/test_cache.py | 25 | def test_returns_same_instance(self): |
| LOW | tests/test_cache.py | 32 | def test_returns_new_data_when_existing_is_none(self): |
| LOW | tests/test_cache.py | 38 | def test_returns_new_data_when_existing_is_empty(self): |
| LOW | tests/test_cache.py | 43 | def test_merges_without_duplicates(self): |
| LOW | tests/test_cache.py | 53 | def test_does_not_mutate_existing_list(self): |
| LOW | tests/test_cache.py | 70 | def test_get_returns_none_for_unknown_ticker(self): |
| LOW | tests/test_cache.py | 74 | def test_deduplicates_by_time(self): |
| LOW | tests/test_cache.py | 83 | def test_different_tickers_are_independent(self): |
| LOW | tests/test_cache.py | 100 | def test_deduplicates_by_report_period(self): |
| LOW | tests/test_cache.py | 117 | def test_deduplicates_by_report_period(self): |
| LOW | tests/test_cache.py | 134 | def test_deduplicates_by_filing_date(self): |
| LOW | tests/test_cache.py | 152 | def test_deduplicates_by_date(self): |
| LOW | tests/backtesting/test_results.py | 4 | def test_results_builder_builds_rows_and_summary(monkeypatch, portfolio): |
| LOW | tests/backtesting/test_results.py | 22 | def fake_print_backtest_results(rows): |
| LOW | tests/backtesting/test_valuation.py | 4 | def test_calculate_portfolio_value(portfolio, prices): |
| LOW | tests/backtesting/test_valuation.py | 28 | def test_compute_exposures_with_no_shorts_ratio_inf(portfolio, prices): |
| LOW | tests/backtesting/test_valuation.py | 35 | def test_compute_portfolio_summary(portfolio, prices): |
| LOW | tests/backtesting/test_metrics.py | 24 | def test_metrics_insufficient_data_no_update(): |
| LOW | tests/backtesting/test_metrics.py | 33 | def test_metrics_basic_sharpe_sortino_and_drawdown(): |
| LOW | tests/backtesting/test_metrics.py | 45 | def test_metrics_zero_volatility_sharpe_zero(): |
| LOW | tests/backtesting/test_portfolio.py | 7 | def test_apply_long_buy_basic(portfolio: Portfolio) -> None: |
| LOW | tests/backtesting/test_portfolio.py | 17 | def test_apply_long_buy_partial_fill_when_insufficient_cash() -> None: |
| LOW | tests/backtesting/test_portfolio.py | 27 | def test_apply_long_sell_realized_gain_and_cost_basis_reset(portfolio: Portfolio) -> None: |
| LOW | tests/backtesting/test_portfolio.py | 40 | def test_apply_long_sell_clamps_to_owned() -> None: |
| LOW | tests/backtesting/test_portfolio.py | 49 | def test_apply_short_open_basic(portfolio: Portfolio) -> None: |
| LOW | tests/backtesting/test_portfolio.py | 63 | def test_apply_short_open_partial_when_insufficient_margin_cash() -> None: |
| LOW | tests/backtesting/test_portfolio.py | 77 | def test_apply_short_open_uses_available_cash_not_total_cash() -> None: |
| LOW | tests/backtesting/test_portfolio.py | 95 | def test_apply_short_cover_realized_gain_and_margin_release(portfolio: Portfolio) -> None: |
| LOW | tests/backtesting/test_portfolio.py | 113 | def test_apply_short_cover_clamps_to_existing_short() -> None: |
| LOW | tests/backtesting/test_portfolio.py | 124 | def test_zero_or_negative_quantity_is_noop(portfolio: Portfolio, action: str) -> None: |
| LOW | tests/backtesting/test_execution.py | 4 | def test_trade_executor_routes_actions(portfolio): |
| LOW | tests/backtesting/test_execution.py | 21 | def test_trade_executor_guards_and_unknown_action(portfolio): |
| LOW | tests/backtesting/test_controller.py | 13 | def test_agent_controller_normalizes_and_snapshots(portfolio): |
| LOW | tests/backtesting/integration/conftest.py | 30 | def _load_price_df_from_fixture(ticker: str, start: str, end: str) -> pd.DataFrame: |
| LOW | tests/backtesting/integration/conftest.py | 63 | def _load_financial_metrics_from_fixture(ticker: str, end: str, limit: int) -> list[dict]: |
| LOW | tests/backtesting/integration/conftest.py | 92 | def _load_insider_from_fixture(ticker: str, start: str | None, end: str, limit: int) -> list[dict]: |
| LOW | tests/backtesting/integration/conftest.py | 111 | def _fake_get_financial_metrics(ticker: str, end_date: str, period: str = "ttm", limit: int = 10, api_key: str | Non |
| LOW | …backtesting/integration/test_integration_long_short.py | 5 | def test_long_short_strategy_partial_exits(): |
| LOW | …backtesting/integration/test_integration_long_short.py | 83 | def test_long_short_strategy_full_liquidation_to_cash(): |
| 89 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | app/backend/main.py | 4 | |
| LOW | app/backend/database/__init__.py | 1 | |
| LOW | app/backend/database/__init__.py | 1 | |
| LOW | app/backend/database/__init__.py | 1 | |
| LOW | app/backend/database/__init__.py | 2 | |
| LOW | app/backend/database/connection.py | 4 | |
| LOW | app/backend/repositories/__init__.py | 1 | |
| LOW | app/backend/repositories/api_key_repository.py | 4 | |
| LOW | app/backend/routes/language_models.py | 2 | |
| LOW | app/backend/routes/language_models.py | 2 | |
| LOW | app/backend/routes/language_models.py | 2 | |
| LOW | app/backend/routes/flow_runs.py | 8 | |
| LOW | app/backend/routes/ollama.py | 4 | |
| LOW | app/backend/services/ollama_service.py | 3 | |
| LOW | app/backend/services/ollama_service.py | 7 | |
| LOW | app/backend/services/ollama_service.py | 9 | |
| LOW | app/backend/services/ollama_service.py | 10 | |
| LOW | tests/test_cache.py | 1 | |
| LOW | tests/backtesting/test_portfolio.py | 1 | |
| LOW | v2/models.py | 3 | |
| LOW | v2/event_study/plot.py | 14 | |
| LOW | v2/event_study/models.py | 12 | |
| LOW | v2/event_study/test_event_study.py | 3 | |
| LOW | v2/event_study/__init__.py | 7 | |
| LOW | v2/event_study/__init__.py | 8 | |
| LOW | v2/event_study/__init__.py | 8 | |
| LOW | v2/event_study/__init__.py | 8 | |
| LOW | v2/event_study/__init__.py | 8 | |
| LOW | v2/event_study/__init__.py | 8 | |
| LOW | v2/event_study/__init__.py | 8 | |
| LOW | v2/event_study/__init__.py | 16 | |
| LOW | v2/event_study/__init__.py | 16 | |
| LOW | v2/event_study/__init__.py | 16 | |
| LOW | v2/event_study/engine.py | 26 | |
| LOW | v2/event_study/stats.py | 8 | |
| LOW | v2/event_study/__main__.py | 6 | |
| LOW | v2/event_study/__main__.py | 12 | |
| LOW | v2/backtesting/models.py | 3 | |
| LOW | v2/backtesting/__init__.py | 3 | |
| LOW | v2/backtesting/__init__.py | 4 | |
| LOW | v2/backtesting/__init__.py | 4 | |
| LOW | v2/backtesting/__init__.py | 4 | |
| LOW | v2/backtesting/__init__.py | 4 | |
| LOW | v2/backtesting/__init__.py | 10 | |
| LOW | v2/backtesting/__init__.py | 10 | |
| LOW | v2/backtesting/strategy.py | 13 | |
| LOW | v2/backtesting/engine.py | 17 | |
| LOW | v2/backtesting/test_backtest.py | 3 | |
| LOW | v2/backtesting/__main__.py | 6 | |
| LOW | v2/signals/__init__.py | 7 | |
| LOW | v2/signals/base.py | 3 | |
| LOW | v2/data/models.py | 7 | |
| LOW | v2/data/protocol.py | 18 | |
| LOW | v2/data/client.py | 3 | |
| LOW | v2/data/__init__.py | 3 | |
| LOW | v2/data/__init__.py | 4 | |
| LOW | v2/data/__init__.py | 4 | |
| LOW | v2/data/__init__.py | 4 | |
| LOW | v2/data/__init__.py | 4 | |
| LOW | v2/data/__init__.py | 4 | |
| 55 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | app/backend/main.py | 53 | except Exception as e: |
| LOW | app/backend/routes/language_models.py | 31 | except Exception as e: |
| LOW | app/backend/routes/language_models.py | 61 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 50 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 82 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 109 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 136 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 166 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 212 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 246 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 274 | except Exception as e: |
| LOW | app/backend/routes/flow_runs.py | 302 | except Exception as e: |
| LOW | app/backend/routes/hedge_fund.py | 59 | except Exception: |
| LOW | app/backend/routes/hedge_fund.py | 159 | except Exception as e: |
| LOW | app/backend/routes/hedge_fund.py | 216 | except Exception: |
| LOW | app/backend/routes/hedge_fund.py | 335 | except Exception as e: |
| LOW | app/backend/routes/hedge_fund.py | 350 | except Exception as e: |
| LOW | app/backend/routes/storage.py | 43 | except Exception as e: |
| LOW | app/backend/routes/flows.py | 41 | except Exception as e: |
| LOW | app/backend/routes/flows.py | 58 | except Exception as e: |
| LOW | app/backend/routes/flows.py | 80 | except Exception as e: |
| LOW | app/backend/routes/flows.py | 112 | except Exception as e: |
| LOW | app/backend/routes/flows.py | 134 | except Exception as e: |
| LOW | app/backend/routes/flows.py | 156 | except Exception as e: |
| LOW | app/backend/routes/flows.py | 173 | except Exception as e: |
| LOW | app/backend/routes/api_keys.py | 38 | except Exception as e: |
| LOW | app/backend/routes/api_keys.py | 55 | except Exception as e: |
| LOW | app/backend/routes/api_keys.py | 77 | except Exception as e: |
| LOW | app/backend/routes/api_keys.py | 104 | except Exception as e: |
| LOW | app/backend/routes/api_keys.py | 126 | except Exception as e: |
| LOW | app/backend/routes/api_keys.py | 151 | except Exception as e: |
| LOW | app/backend/routes/api_keys.py | 178 | except Exception as e: |
| LOW | app/backend/routes/api_keys.py | 200 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 53 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 85 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 117 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 154 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 193 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 215 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 238 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 275 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 291 | except Exception as e: |
| LOW | app/backend/routes/ollama.py | 317 | except Exception as e: |
| LOW | app/backend/services/graph.py | 190 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 228 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 239 | except Exception: |
| LOW | app/backend/services/ollama_service.py | 270 | except Exception: |
| LOW | app/backend/services/ollama_service.py | 282 | except Exception: |
| LOW | app/backend/services/ollama_service.py | 53 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 65 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 77 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 89 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 106 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 120 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 148 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 204 | except Exception: |
| LOW | app/backend/services/ollama_service.py | 213 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 256 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 301 | except Exception as e: |
| LOW | app/backend/services/ollama_service.py | 321 | except Exception as e: |
| 43 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | app/run.sh | 221 | # Create a temporary directory for log files |
| MEDIUM | app/backend/routes/flow_runs.py | 41 | # Create the flow run |
| MEDIUM | app/backend/routes/health.py | 18 | # Create a JSON object for each ping |
| MEDIUM | app/backend/routes/hedge_fund.py | 33 | # Create the portfolio |
| MEDIUM | app/backend/routes/hedge_fund.py | 183 | # Create the portfolio (same as /run endpoint) |
| MEDIUM | …/backtesting/integration/test_integration_long_only.py | 14 | # Define the exact trading sequence we want to test |
| MEDIUM | …/backtesting/integration/test_integration_long_only.py | 104 | # Define the exact trading sequence we want to test |
| MEDIUM | …/backtesting/integration/test_integration_long_only.py | 206 | # Define the exact trading sequence we want to test |
| MEDIUM | src/tools/api.py | 65 | # Create a cache key that includes all parameters to ensure exact matches |
| MEDIUM | src/tools/api.py | 107 | # Create a cache key that includes all parameters to ensure exact matches |
| MEDIUM | src/tools/api.py | 191 | # Create a cache key that includes all parameters to ensure exact matches |
| MEDIUM | src/tools/api.py | 257 | # Create a cache key that includes all parameters to ensure exact matches |
| MEDIUM | src/agents/warren_buffett.py | 141 | # Create the message |
| MEDIUM | src/agents/sentiment.py | 120 | # Create the sentiment message |
| MEDIUM | src/agents/fundamentals.py | 145 | # Create the fundamental analysis message |
| MEDIUM | src/agents/technicals.py | 140 | # Create the technical analyst message |
| MEDIUM | src/agents/news_sentiment.py | 138 | # Create the sentiment analysis |
| MEDIUM | src/agents/nassim_taleb.py | 156 | # Create the message |
| MEDIUM | src/utils/progress.py | 92 | # Create the status text with appropriate styling |
| MEDIUM | src/utils/progress.py | 115 | # Create a global instance |
| MEDIUM | src/utils/ollama.py | 275 | # Create a progress bar |
| MEDIUM | src/data/cache.py | 16 | # Create a set of existing keys for O(1) lookup |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | app/backend/main.py | 33 | |
| LOW | app/backend/routes/hedge_fund.py | 26 | |
| LOW | app/backend/routes/hedge_fund.py | 170 | |
| LOW | app/backend/routes/hedge_fund.py | 63 | |
| LOW | app/backend/routes/hedge_fund.py | 220 | |
| LOW | app/backend/services/backtest_service.py | 60 | |
| LOW | app/backend/services/backtest_service.py | 285 | |
| LOW | app/backend/services/portfolio.py | 6 | |
| LOW | src/llm/models.py | 142 | |
| LOW | src/backtesting/engine.py | 96 | |
| LOW | src/graph/state.py | 21 | |
| LOW | src/graph/state.py | 24 | |
| LOW | src/agents/peter_lynch.py | 161 | |
| LOW | src/agents/peter_lynch.py | 289 | |
| LOW | src/agents/peter_lynch.py | 396 | |
| LOW | src/agents/rakesh_jhunjhunwala.py | 17 | |
| LOW | src/agents/rakesh_jhunjhunwala.py | 162 | |
| LOW | src/agents/rakesh_jhunjhunwala.py | 246 | |
| LOW | src/agents/rakesh_jhunjhunwala.py | 437 | |
| LOW | src/agents/rakesh_jhunjhunwala.py | 498 | |
| LOW | src/agents/warren_buffett.py | 696 | |
| LOW | src/agents/michael_burry.py | 173 | |
| LOW | src/agents/stanley_druckenmiller.py | 166 | |
| LOW | src/agents/stanley_druckenmiller.py | 273 | |
| LOW | src/agents/stanley_druckenmiller.py | 351 | |
| LOW | src/agents/technicals.py | 407 | |
| LOW | src/agents/cathie_wood.py | 111 | |
| LOW | src/agents/cathie_wood.py | 210 | |
| LOW | src/agents/phil_fisher.py | 167 | |
| LOW | src/agents/phil_fisher.py | 328 | |
| LOW | src/agents/phil_fisher.py | 461 | |
| LOW | src/agents/portfolio_manager.py | 25 | |
| LOW | src/agents/news_sentiment.py | 25 | |
| LOW | src/agents/valuation.py | 21 | |
| LOW | src/agents/charlie_munger.py | 161 | |
| LOW | src/agents/charlie_munger.py | 268 | |
| LOW | src/agents/charlie_munger.py | 469 | |
| LOW | src/agents/ben_graham.py | 207 | |
| LOW | src/agents/nassim_taleb.py | 269 | |
| LOW | src/agents/nassim_taleb.py | 355 | |
| LOW | src/agents/nassim_taleb.py | 453 | |
| LOW | src/agents/nassim_taleb.py | 559 | |
| LOW | src/agents/nassim_taleb.py | 628 | |
| LOW | src/agents/mohnish_pabrai.py | 196 | |
| LOW | src/agents/mohnish_pabrai.py | 253 | |
| LOW | src/agents/risk_manager.py | 11 | |
| LOW | src/utils/llm.py | 10 | |
| LOW | src/utils/llm.py | 87 | |
| LOW | src/utils/llm.py | 109 | |
| LOW | src/utils/display.py | 17 | |
| LOW | src/utils/ollama.py | 114 | |
| LOW | src/utils/ollama.py | 207 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | docker/run.sh | 123 | # Check if command is provided |
| LOW | docker/run.sh | 174 | # Check if Ollama is running |
| LOW | docker/run.sh | 226 | # Check if the model was successfully pulled |
| LOW | docker/run.sh | 244 | # Check if .env file exists, if not create from .env.example |
| LOW | app/run.sh | 135 | # Check if .env exists in the root directory |
| LOW | app/run.sh | 164 | # Check if database already exists |
| LOW | app/run.sh | 178 | # Check if dependencies are actually installed and working |
| LOW | app/run.sh | 202 | # Check if node_modules exists and has content |
| LOW | app/run.sh | 260 | # Check if backend started successfully |
| LOW | app/run.sh | 289 | # Check if frontend started successfully |
| LOW | app/run.sh | 318 | # Check if processes are still running |
| LOW | app/backend/repositories/api_key_repository.py | 23 | # Check if API key already exists for this provider |
| LOW | …rsions/3f9a6b7c8d2e_add_hedgefundflowruncycle_table.py | 22 | # Check if columns already exist before adding them |
| LOW | …rsions/3f9a6b7c8d2e_add_hedgefundflowruncycle_table.py | 71 | # Check if table exists before dropping |
| LOW | app/backend/routes/hedge_fund.py | 100 | # Check if client disconnected |
| LOW | app/backend/routes/hedge_fund.py | 275 | # Check if client disconnected |
| LOW | app/backend/services/graph.py | 97 | # Check if this is a direct connection from analyst to portfolio manager |
| LOW | app/backend/services/ollama_service.py | 234 | # Check if already running |
| LOW | app/backend/services/ollama_service.py | 279 | # Check if already stopped |
| LOW | app/backend/services/ollama_service.py | 470 | # Check if download is complete |
| LOW | src/tools/api.py | 321 | # Check if end_date is today |
| LOW | src/llm/models.py | 179 | # Check if OLLAMA_HOST is set (for Docker on macOS) |
| LOW | src/agents/warren_buffett.py | 730 | # Check if company has been able to maintain high margins consistently |
| LOW | src/agents/cathie_wood.py | 136 | # Check if growth is accelerating (first growth rate higher than last, since they're in reverse order) |
| LOW | src/agents/phil_fisher.py | 278 | # Check if margins are stable or improving (comparing oldest to newest) |
| LOW | src/agents/phil_fisher.py | 388 | # Check if FCF is positive in recent years |
| LOW | src/agents/charlie_munger.py | 183 | # Check if ROIC consistently above 15% (Munger's threshold) |
| LOW | src/utils/docker.py | 88 | # Check if the model has been downloaded |
| LOW | src/utils/ollama.py | 136 | # Check if it's now installed |
| LOW | src/utils/ollama.py | 193 | # Check if it's now installed |
| LOW | src/utils/ollama.py | 321 | # Check if Ollama is installed |
| LOW | src/utils/ollama.py | 339 | # Check if the model is already downloaded |
| LOW | src/utils/ollama.py | 362 | # Check if we're running in Docker |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | app/frontend/src/contexts/node-context.tsx | 123 | // Add message to history if it's new - use more robust checking |
| MEDIUM | src/tools/api.py | 94 | # Cache the results using the comprehensive cache key |
| MEDIUM | src/tools/api.py | 136 | # Cache the results as dicts using the comprehensive cache key |
| MEDIUM | src/tools/api.py | 244 | # Cache the results using the comprehensive cache key |
| MEDIUM | src/tools/api.py | 310 | # Cache the results using the comprehensive cache key |
| MEDIUM | src/agents/rakesh_jhunjhunwala.py | 115 | # Create comprehensive analysis summary |
| MEDIUM | src/agents/cathie_wood.py | 39 | # Request multiple periods of data (annual or TTM) for a more robust view. |
| MEDIUM | src/agents/bill_ackman.py | 37 | # Request multiple periods of data (annual or TTM) for a more robust long-term view. |
| MEDIUM | src/agents/mohnish_pabrai.py | 167 | # Low leverage |
| MEDIUM | src/agents/risk_manager.py | 223 | """Calculate comprehensive volatility metrics from price data.""" |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | v2/event_study/engine.py | 153 | # Step 1: Get earnings filings for this ticker |
| LOW | v2/event_study/engine.py | 158 | # Step 2: Drop retrospective rows (e.g., Q4 data parsed from a Q1 8-K) |
| LOW | v2/event_study/engine.py | 163 | # Step 3: Fetch stock prices — one call covering all events. |
| LOW | v2/event_study/engine.py | 176 | # Step 4: Build aligned return series. |
| LOW | v2/event_study/engine.py | 196 | # Step 5: Process each earnings event |
| LOW | src/utils/docker.py | 12 | # Step 1: Check if Ollama service is available |
| LOW | src/utils/docker.py | 16 | # Step 2: Check if model is already available |
| LOW | src/utils/docker.py | 22 | # Step 3: Model not available - ask if user wants to download |
| LOW | src/utils/docker.py | 29 | # Step 4: Download the model |
| LOW | src/utils/docker.py | 68 | # Step 1: Initiate the download |
| LOW | src/utils/docker.py | 80 | # Step 2: Monitor the download progress |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | v2/data/models.py | 40 | All ratio/metric fields are nullable (NaN/Inf sanitised to null). |
| HIGH | v2/data/models.py | 208 | # Period-over-period changes (omitted from response if null) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | app/frontend/src/components/Flow.tsx | 181 | // useEffect(() => { |
| LOW | app/frontend/src/lib/utils.ts | 21 | return 'bg-gray-600/20 text-primary border-gray-600/40'; |
| LOW | app/backend/alembic.ini | 1 | # A generic, single database configuration. |
| LOW | app/backend/alembic.ini | 21 | # Any required deps can installed by adding `alembic[tz]` to the pip requirements |
| LOW | app/backend/alembic.ini | 41 | # The path separator used here should be the separator specified by "version_path_separator" below. |
| LOW | app/backend/alembic.ini | 61 | |
| LOW | tests/__init__.py | 1 | # Tests package |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/tools/api.py | 30 | Make an API request with rate limiting handling and moderate backoff. Args: url: The URL to reques |