AI Slop Code RIsk Monitor

Andyyyy64/whichllm

Find the local LLM that actually runs and performs best on your hardware. Ranked by real, recency-aware benchmarks, not parameter count. One command, run it instantly.

34.9 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Andyyyy64/whichllm, a Python project with 6,745 GitHub stars. SynthScan examined 24,753 lines of code across 143 source files, recording 745 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 34.9 (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.

34.9
Adjusted Signal
34.9
Raw Pattern Score
100%
Time Factor
2026-10-03
Last Push
6.7K
Stars
Python
Language
24.8K
Lines of Code
143
Files
745
Pattern Hits
2026-10-12
Scan Date
0.17
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 62.1/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 37.9/100 · MEDIUM

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

Agent Over-Engineering Ratio 68.4/100 · HIGH

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

PR Review Velocity Impact 82.8/100 · CRITICAL

Which changes need focused human review? 745 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 24MEDIUM 3LOW 718

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 745 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

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

Hyper-Verbose Identifiers409 hits · 421 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_utils.py10def test_cache_dir_defaults_to_dot_cache(monkeypatch):CODE
LOW⚡tests/test_utils.py16def test_cache_dir_respects_xdg_cache_home(monkeypatch, tmp_path):CODE
LOW⚡tests/test_utils.py22def test_cache_dir_falls_back_on_empty_xdg(monkeypatch):CODE
LOW⚡tests/test_utils.py28def test_cache_dir_ignores_relative_xdg(monkeypatch):CODE
LOW⚡tests/test_utils.py52def test_parse_fractional_suffix():CODE
LOW⚡tests/test_utils.py57def test_parse_whitespace_is_stripped():CODE
LOW⚡tests/test_utils.py61def test_parse_rejects_invalid_string():CODE
LOW⚡tests/test_utils.py71def test_parse_rejects_negative():CODE
LOW⚡tests/test_utils.py76def test_click_type_passes_int_through():CODE
LOW⚡tests/test_utils.py80def test_click_type_parses_shorthand():CODE
LOWtests/test_output_formatting.py25def test_format_speed_colors_by_runtime_speed_not_confidence():CODE
LOWtests/test_output_formatting.py35def test_display_ranking_includes_weights_column():CODE
LOWtests/test_output_formatting.py182def test_display_ranking_weights_synthetic_and_missing_metadata():CODE
LOWtests/test_output_formatting.py249def test_display_ranking_weights_exact_metadata_no_footnote():CODE
LOWtests/test_output_formatting.py292def test_gguf_variants_preserve_estimated_flag():CODE
LOWtests/test_output_formatting.py321def test_split_gguf_with_missing_size_is_estimated():CODE
LOWtests/test_gtx1650_variants.py32def test_variant_table_present_and_reexported():CODE
LOWtests/test_gtx1650_variants.py54def test_unknown_clock_falls_back_to_curated_default():CODE
LOWtests/test_gtx1650_variants.py68def test_non_variant_card_ignores_memory_clock():CODE
LOWtests/test_gtx1650_variants.py147def test_smi_na_clock_falls_back_to_curated(monkeypatch):CODE
LOWtests/test_gtx1650_variants.py166def test_smi_both_queries_fail_returns_empty(monkeypatch):CODE
LOWtests/test_compatibility.py73def test_usable_vram_budget_can_turn_full_gpu_into_partial_offload():CODE
LOWtests/test_compatibility.py86def test_ram_budget_limits_partial_offload_pool():CODE
LOWtests/test_compatibility.py98def test_ram_budget_caps_shared_memory_gpu_fit_pool():CODE
LOWtests/test_compatibility.py126def test_shared_memory_manual_vram_override_caps_available_gpu_memory():CODE
LOWtests/test_compatibility.py153def test_shared_memory_amd_apu_uses_system_memory_pool():CODE
LOWtests/test_compatibility.py182def test_windows_shared_memory_amd_apu_does_not_emit_rocm_warning():CODE
LOWtests/test_compatibility.py211def test_shared_memory_igpu_is_not_summed_with_dedicated_gpu():CODE
LOWtests/test_compatibility.py244def test_homogeneous_multi_gpu_uses_conservative_fit_budget():CODE
LOWtests/test_compatibility.py282def test_heterogeneous_multi_gpu_warns_about_split_assumptions():CODE
LOWtests/test_compatibility.py318def test_multiple_shared_memory_gpus_are_not_summed():CODE
LOWtests/test_compatibility.py352def test_apple_silicon_does_not_double_count_unified_memory():CODE
LOWtests/test_compatibility.py385def test_apple_silicon_full_gpu_fit():CODE
LOWtests/test_compatibility.py413def test_apple_silicon_vendor_guard_handles_legacy_shared_memory_false():CODE
LOWtests/test_compatibility.py461def test_low_compute_capability():CODE
LOW⚡tests/test_compatibility.py479def test_context_fits_true_when_model_supports():CODE
LOW⚡tests/test_compatibility.py487def test_context_fits_false_when_model_too_small():CODE
LOW⚡tests/test_compatibility.py496def test_context_fits_unknown_is_true():CODE
LOWtests/test_ranker.py38def test_ranker_picks_highest_scoring_variant():CODE
LOWtests/test_ranker.py74def test_quant_filter_applies_to_non_gguf_models():CODE
LOWtests/test_ranker.py131def test_darwin_backend_filters_out_non_gguf_models():CODE
LOWtests/test_ranker.py163def test_cpu_only_backend_filters_out_non_gguf_models():CODE
LOWtests/test_ranker.py211def test_rank_models_clamps_non_positive_top_n():CODE
LOWtests/test_ranker.py232def test_popularity_has_no_effect_with_direct_benchmark():CODE
LOWtests/test_ranker.py277def test_general_profile_excludes_specialized_models():CODE
LOWtests/test_ranker.py323def test_require_direct_top_prioritizes_direct_benchmark():CODE
LOWtests/test_ranker.py371def test_min_params_filter_excludes_small_models():CODE
LOWtests/test_ranker.py418def test_general_profile_prefers_full_gpu_when_direct_is_partial():CODE
LOWtests/test_ranker.py454def test_family_dedup_prefers_direct_when_enabled():CODE
LOWtests/test_ranker.py494def test_full_gpu_estimated_ranks_above_partial_direct():CODE
LOWtests/test_ranker.py535def test_strong_partial_offload_not_buried_below_weaker_full_gpu():CODE
LOWtests/test_ranker.py638def test_moe_partial_offload_penalty_uses_active_working_set():CODE
LOWtests/test_ranker.py658def test_evidence_strict_filters_out_estimated_models():CODE
LOWtests/test_ranker.py706def test_evidence_base_keeps_base_model_match_and_drops_line_interp():CODE
LOWtests/test_ranker.py758def test_unknown_speed_heavy_partial_offload_does_not_top_rank():CODE
LOWtests/test_ranker.py827def test_fit_filter_full_gpu_excludes_partial_offload_and_cpu_only():CODE
LOWtests/test_ranker.py887def test_fit_filter_full_gpu_returns_empty_when_no_full_gpu_candidate():CODE
LOWtests/test_ranker.py916def test_multi_gpu_speed_confidence_is_low():CODE
LOWtests/test_ranker.py980def test_benchmark_source_and_confidence_exposed_for_direct():CODE
LOWtests/test_ranker.py1010def test_benchmark_source_and_confidence_exposed_for_estimated():CODE
349 more matches not shown…
Unused Imports216 hits · 206 pts
SeverityFileLineSnippetContext
LOWtests/test_p1_p3_regressions.py18CODE
LOWtests/test_apple_detection.py3CODE
LOWtests/test_intel_gpu.py3CODE
LOWtests/test_cache_encoding.py3CODE
LOWtests/test_asahi_detection.py3CODE
LOWtests/test_aa_index.py9CODE
LOWtests/test_newer_qwen_coverage.py10CODE
LOWtests/test_windows_gpu.py3CODE
LOWtests/test_r3_regressions.py18CODE
LOWtests/test_amd_detection.py3CODE
LOWtests/test_windows_cpu_detection.py3CODE
LOWscripts/import_livebench_csv.py11CODE
LOWsrc/whichllm/cli_commands.py3CODE
LOWsrc/whichllm/cli_commands.py4CODE
LOWsrc/whichllm/cli_commands.py5CODE
LOWsrc/whichllm/cli_commands.py6CODE
LOWsrc/whichllm/cli_commands.py7CODE
LOWsrc/whichllm/cli_commands.py8CODE
LOWsrc/whichllm/cli_models.py3CODE
LOWsrc/whichllm/constants.py8CODE
LOWsrc/whichllm/constants.py8CODE
LOWsrc/whichllm/constants.py8CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py13CODE
LOWsrc/whichllm/constants.py25CODE
LOWsrc/whichllm/constants.py25CODE
LOWsrc/whichllm/constants.py25CODE
LOWsrc/whichllm/constants.py30CODE
LOWsrc/whichllm/constants.py30CODE
LOWsrc/whichllm/constants.py30CODE
LOWsrc/whichllm/cli_hardware.py3CODE
LOWsrc/whichllm/cli_shared.py3CODE
LOWsrc/whichllm/cli_options.py3CODE
LOWsrc/whichllm/cli.py13CODE
LOWsrc/whichllm/utils.py1CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py3CODE
LOWsrc/whichllm/cli_validation.py14CODE
LOWsrc/whichllm/cli_validation.py14CODE
LOWsrc/whichllm/cli_validation.py14CODE
LOWsrc/whichllm/cli_validation.py14CODE
LOWsrc/whichllm/cli_validation.py14CODE
LOWsrc/whichllm/cli_validation.py14CODE
LOWsrc/whichllm/cli_validation.py14CODE
LOWsrc/whichllm/cli_validation.py23CODE
156 more matches not shown…
Empty Error Handlers15 hits · 75 pts
SeverityFileLineSnippetContext
HIGHsrc/whichllm/hardware/intel.py90except OSError:CODE
HIGHsrc/whichllm/hardware/intel.py97except OSError:CODE
HIGHsrc/whichllm/hardware/nvidia.py197except Exception:CODE
HIGHsrc/whichllm/hardware/cpu.py24except (FileNotFoundError, subprocess.TimeoutExpired):CODE
HIGHsrc/whichllm/hardware/cpu.py149except Exception:CODE
HIGHsrc/whichllm/hardware/cpu.py185except Exception:CODE
HIGHsrc/whichllm/hardware/cpu.py202except Exception:CODE
HIGHsrc/whichllm/hardware/cpu.py212except Exception:CODE
HIGHsrc/whichllm/hardware/gpu_simulator.py199except ImportError:CODE
HIGHsrc/whichllm/hardware/gpu_simulator.py172except KeyError:CODE
HIGHsrc/whichllm/hardware/gpu_simulator.py179except KeyError:CODE
HIGHsrc/whichllm/hardware/amd.py280except Exception:CODE
HIGHsrc/whichllm/hardware/amd.py161except OSError:CODE
HIGHsrc/whichllm/hardware/amd.py168except OSError:CODE
HIGHsrc/whichllm/hardware/amd.py302except (ValueError, TypeError):CODE
Modern Structural Boilerplate33 hits · 33 pts
SeverityFileLineSnippetContext
LOWtests/test_asahi_detection.py151def _setup_asahi_sysfs(tmp_path: Path) -> None:CODE
LOWsrc/whichllm/cli_commands.py10__all__ = [CODE
LOWsrc/whichllm/cli_models.py365__all__ = [CODE
LOWsrc/whichllm/constants.py36__all__ = [CODE
LOWsrc/whichllm/cli_shared.py44__all__ = ["_run_async", "_format_fetch_error", "_print_version", "console"]CODE
LOWsrc/whichllm/cli.py340__all__ = ["app", "main", "plan", "upgrade", "run", "snippet", "hardware"]CODE
LOWsrc/whichllm/cli_validation.py29__all__ = [CODE
LOWsrc/whichllm/hardware/detector.py17logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/hardware/gpu_db.py35logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/hardware/intel.py17logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/hardware/nvidia.py13logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/hardware/cpu.py11logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/hardware/gpu_simulator.py26logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/hardware/windows.py14logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/hardware/apple.py14logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/hardware/amd.py16logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/output/display.py30__all__ = [CODE
LOWsrc/whichllm/models/benchmark_cache.py11logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/models/benchmark.py65__all__ = [CODE
LOWsrc/whichllm/models/benchmark_fetch.py14logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/models/cache.py11logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/models/fetcher.py78__all__ = [CODE
LOWsrc/whichllm/models/hf.py15logger = logging.getLogger(__name__)CODE
LOW…chllm/models/benchmark_sources/open_llm_leaderboard.py10logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/models/benchmark_sources/aa_index.py28logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/models/benchmark_sources/vision.py25logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/models/benchmark_sources/__init__.py34__all__ = [CODE
LOWsrc/whichllm/models/benchmark_sources/aider.py22logger = logging.getLogger(__name__)CODE
LOWsrc/whichllm/engine/ranking_filters.py216__all__ = [CODE
LOWsrc/whichllm/engine/ranking_variants.py116__all__ = [CODE
LOWsrc/whichllm/engine/ranking_sources.py55__all__ = [CODE
LOWsrc/whichllm/engine/ranker.py48__all__ = [CODE
LOWsrc/whichllm/engine/ranking_score.py254__all__ = [CODE
Cross-Language Confusion5 hits · 30 pts
SeverityFileLineSnippetContext
HIGHtests/test_aa_index.py35 fragment inside ``self.__next_f.push([n, "..."])``."""STRING
HIGH⚡tests/test_aa_index.py47 "<script>self.__next_f.push([0])</script>"CODE
HIGH⚡tests/test_aa_index.py48 f"<script>self.__next_f.push([1,{chunk}])</script>"CODE
HIGHsrc/whichllm/hardware/windows.py112 "$dedicated = $null; "CODE
HIGHsrc/whichllm/models/benchmark_sources/aa_index.py246# App Router streaming format: model data arrives in ``self.__next_f.push([n,COMMENT
Excessive Try-Catch Wrapping22 hits · 25 pts
SeverityFileLineSnippetContext
LOWsrc/whichllm/cli_models.py41 except Exception as e:CODE
LOWsrc/whichllm/cli_models.py323 except Exception:CODE
LOWsrc/whichllm/cli_models.py332 except Exception:CODE
LOWsrc/whichllm/hardware/gpu_db.py136 except Exception as exc: # pragma: no cover - dbgpu is a hard dependencyCODE
LOWsrc/whichllm/hardware/nvidia.py158 except Exception:CODE
LOWsrc/whichllm/hardware/nvidia.py182 except Exception as clock_err:CODE
LOWsrc/whichllm/hardware/nvidia.py197 except Exception:CODE
LOWsrc/whichllm/hardware/cpu.py129 except Exception as e:CODE
LOWsrc/whichllm/hardware/cpu.py149 except Exception:CODE
LOWsrc/whichllm/hardware/cpu.py185 except Exception:CODE
LOWsrc/whichllm/hardware/cpu.py202 except Exception:CODE
LOWsrc/whichllm/hardware/cpu.py212 except Exception:CODE
MEDIUMsrc/whichllm/hardware/cpu.py54def _cpu_name_from_wmic() -> str | None:CODE
LOWsrc/whichllm/hardware/amd.py280 except Exception:CODE
MEDIUMsrc/whichllm/hardware/amd.py83def _detect_from_lspci() -> list[str]:CODE
LOWsrc/whichllm/commands/plan.py50 except Exception as e:CODE
LOWsrc/whichllm/commands/plan.py63 except Exception as e:CODE
LOWsrc/whichllm/commands/upgrade.py73 except Exception as e:CODE
LOWsrc/whichllm/commands/upgrade.py85 except Exception:CODE
LOW⚡src/whichllm/commands/recommend.py127 except Exception as e:CODE
LOW⚡src/whichllm/commands/recommend.py141 except Exception as e:CODE
LOWsrc/whichllm/commands/recommend.py219 except Exception as e:CODE
Deep Nesting22 hits · 22 pts
SeverityFileLineSnippetContext
LOWsrc/whichllm/cli_hardware.py139CODE
LOWsrc/whichllm/hardware/gpu_db.py186CODE
LOWsrc/whichllm/hardware/nvidia.py136CODE
LOWsrc/whichllm/hardware/cpu.py14CODE
LOWsrc/whichllm/hardware/cpu.py100CODE
LOWsrc/whichllm/hardware/cpu.py134CODE
LOWsrc/whichllm/hardware/cpu.py171CODE
LOWsrc/whichllm/hardware/gpu_simulator.py208CODE
LOWsrc/whichllm/hardware/gpu_simulator.py256CODE
LOWsrc/whichllm/hardware/amd.py230CODE
LOWsrc/whichllm/output/ranking.py159CODE
LOWsrc/whichllm/models/benchmark_lineage.py26CODE
LOWsrc/whichllm/models/benchmark_lookup.py120CODE
LOWsrc/whichllm/models/grouper.py38CODE
LOWsrc/whichllm/commands/plan.py18CODE
LOWsrc/whichllm/commands/run.py27CODE
LOWsrc/whichllm/commands/recommend.py33CODE
LOWsrc/whichllm/engine/ranking_filters.py126CODE
LOWsrc/whichllm/engine/ranking.py29CODE
LOWsrc/whichllm/engine/performance.py140CODE
LOWsrc/whichllm/engine/ranking_score.py55CODE
LOWsrc/whichllm/engine/ranking_score.py98CODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsrc/whichllm/cli_hardware.py0cli validation, filtering, and hardware override helpers.STRING
HIGHsrc/whichllm/cli_options.py0cli validation, filtering, and hardware override helpers.STRING
HIGHsrc/whichllm/cli_metadata.py0cli validation, filtering, and hardware override helpers.STRING
Verbosity Indicators4 hits · 9 pts
SeverityFileLineSnippetContext
LOW⚡src/whichllm/commands/recommend.py104 # Step 1: Detect hardwareCOMMENT
LOW⚡src/whichllm/commands/recommend.py113 # Step 2: Fetch modelsCOMMENT
LOW⚡src/whichllm/commands/recommend.py133 # Step 3: Fetch benchmark scoresCOMMENT
LOW⚡src/whichllm/commands/recommend.py145 # Step 4: Group and rankCOMMENT
Structural Annotation Overuse4 hits · 9 pts
SeverityFileLineSnippetContext
LOW⚡src/whichllm/commands/recommend.py104 # Step 1: Detect hardwareCOMMENT
LOW⚡src/whichllm/commands/recommend.py113 # Step 2: Fetch modelsCOMMENT
LOW⚡src/whichllm/commands/recommend.py133 # Step 3: Fetch benchmark scoresCOMMENT
LOW⚡src/whichllm/commands/recommend.py145 # Step 4: Group and rankCOMMENT
Over-Commented Block6 hits · 6 pts
SeverityFileLineSnippetContext
LOWsrc/whichllm/models/benchmark_sources/aa_index.py121# 2026-06-29 from artificialanalysis.ai against their reworked index, with theCOMMENT
LOWsrc/whichllm/models/benchmark_sources/aa_index.py241COMMENT
LOWsrc/whichllm/data/gpu.py261 "GTX 780": (3, 5),COMMENT
LOWsrc/whichllm/data/lineage.py1"""Model lineage / generation half-order used to bonus or penalize family versions."""COMMENT
LOWsrc/whichllm/engine/ranking.py261 # CPU RAM from a 4GB GTX 1650) is not actually usable. Drop theseCOMMENT
LOWsrc/whichllm/engine/performance.py261COMMENT
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHsrc/whichllm/hardware/gpu_simulator.py257Create a synthetic GPUInfo from a GPU name. Looks up specs from the dbgpu database (2000+ GPUs). Args: STRING
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWsrc/whichllm/commands/recommend.py224 # Display resultsCOMMENT
LOWsrc/whichllm/engine/ranking.py226 # Check if this is better than existingCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/whichllm/engine/ranking_score.py69 # MoE offload is more nuanced: inactive experts and router/runtimeCOMMENT
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWsrc/whichllm/cli.py40CODE
LOWsrc/whichllm/engine/ranking.py29CODE