Repository Analysis

bottlesdevs/Bottles

Run Windows software and games on Linux

13.4 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of bottlesdevs/Bottles, a Python project with 8,596 GitHub stars. SynthScan v2.0 examined 40,899 lines of code across 257 source files, recording 481 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 13.4 places this repository in the Low 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).

13.4
Adjusted Score
13.4
Raw Score
100%
Time Factor
2026-07-14
Last Push
8.6K
Stars
Python
Language
40.9K
Lines of Code
257
Files
481
Pattern Hits
2026-07-14
Scan Date
0.04
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

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

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 1HIGH 9MEDIUM 7LOW 464

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 481 distinct pattern matches across 15 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.

Over-Commented Block123 hits · 122 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/bottles.py1#!@PYTHON@COMMENT
LOWbottles/frontend/operation.py1# operation.pyCOMMENT
LOWbottles/frontend/main.py1# main.pyCOMMENT
LOWbottles/frontend/utils/gtk.py1# gtk.pyCOMMENT
LOWbottles/frontend/utils/sh.py1# sh.pyCOMMENT
LOWbottles/frontend/utils/sandbox_guard.py1# sandbox_guard.pyCOMMENT
LOWbottles/frontend/utils/playtime.py1# playtime.pyCOMMENT
LOWbottles/frontend/utils/common.py1# utils.pyCOMMENT
LOWbottles/frontend/utils/filters.py1# filters.py: File for providing common GtkFileFiltersCOMMENT
LOWbottles/frontend/cli/cli.py1#!@PYTHON@COMMENT
LOWbottles/frontend/windows/onboard.py1# onboard.pyCOMMENT
LOWbottles/frontend/windows/mangohud.py1# mangohud.pyCOMMENT
LOWbottles/frontend/windows/upgradeversioning.py1# duplicate.pyCOMMENT
LOWbottles/frontend/windows/dependency_install.py1# dependency_install.pyCOMMENT
LOWbottles/frontend/windows/funding.py1# funding.pyCOMMENT
LOWbottles/frontend/windows/depscheck.py1# depscheck.pyCOMMENT
LOWbottles/frontend/windows/journal.py1# journal.pyCOMMENT
LOWbottles/frontend/windows/crash.py1# crash.pyCOMMENT
LOWbottles/frontend/windows/versioning_manage_branches.py1# versioning_manage_branches.pyCOMMENT
LOWbottles/frontend/windows/bottlepicker.py1# bottlepicker.pyCOMMENT
LOWbottles/frontend/windows/window.py1# window.pyCOMMENT
LOWbottles/frontend/windows/rename.py1# rename.pyCOMMENT
LOWbottles/frontend/windows/bulkupdate.py1# bulkupdate.pyCOMMENT
LOWbottles/frontend/windows/versioning_commit.py1# versioning_commit.pyCOMMENT
LOWbottles/frontend/windows/versioning_branch.py1# versioning_branch.pyCOMMENT
LOWbottles/frontend/windows/generic.py1# generic.pyCOMMENT
LOWbottles/frontend/windows/envvars.py1# envvars.pyCOMMENT
LOWbottles/frontend/windows/gamescope.py1# gamescope.pyCOMMENT
LOWbottles/frontend/windows/display.py1# display.pyCOMMENT
LOWbottles/frontend/windows/installer.py1# installer.pyCOMMENT
LOWbottles/frontend/windows/sandbox.py1# sandbox.pyCOMMENT
LOWbottles/frontend/windows/duplicate.py1# duplicate.pyCOMMENT
LOWbottles/frontend/windows/exclusionpatterns.py1# envvars.pyCOMMENT
LOWbottles/frontend/windows/vmtouch.py1# vmtouch.pyCOMMENT
LOWbottles/frontend/windows/launchoptions.py1# launchoptions.pyCOMMENT
LOWbottles/frontend/windows/playtimegraph.py1# playtimegraph.pyCOMMENT
LOWbottles/frontend/windows/versioning_settings.py1# versioning_settings.pyCOMMENT
LOWbottles/frontend/windows/dlloverrides.py1# dlloverrides.pyCOMMENT
LOWbottles/frontend/windows/protonalert.py1# protonalert.pyCOMMENT
LOWbottles/frontend/windows/registry_rules.py1#COMMENT
LOWbottles/frontend/windows/vkbasalt.py1# vkbasalt.pyCOMMENT
LOWbottles/frontend/windows/drives.py1# drive.pyCOMMENT
LOWbottles/frontend/views/loading.py1# loading.pyCOMMENT
LOWbottles/frontend/views/library.py1# library.pyCOMMENT
LOWbottles/frontend/views/importer.py1# importer.pyCOMMENT
LOWbottles/frontend/views/list.py1# list.pyCOMMENT
LOWbottles/frontend/views/bottle_versioning.py1# bottle_versioning.pyCOMMENT
LOWbottles/frontend/views/preferences.py1# preferences.pyCOMMENT
LOWbottles/frontend/views/bottle_installers.py1# bottle_installers.pyCOMMENT
LOWbottles/frontend/views/bottle_dependencies.py1# bottle_installers.pyCOMMENT
LOWbottles/frontend/views/details.py1# details.pyCOMMENT
LOWbottles/frontend/views/bottle_taskmanager.py1# taskmanager.pyCOMMENT
LOWbottles/frontend/views/bottle_preferences.py1# bottle_preferences.pyCOMMENT
LOWbottles/frontend/views/eagle.py1# eagle.pyCOMMENT
LOWbottles/frontend/views/bottle_registry_rules.py1# bottle_registry_rules.pyCOMMENT
LOWbottles/frontend/views/bottle_details.py1# bottle_details.pyCOMMENT
LOWbottles/frontend/views/new_bottle_dialog.py1# new_bottle_dialog.pyCOMMENT
LOWbottles/frontend/widgets/playtimechart_monthly.py1# playtimechart_monthly.pyCOMMENT
LOWbottles/frontend/widgets/library.py1# library.pyCOMMENT
LOWbottles/frontend/widgets/importer.py1# importer.pyCOMMENT
63 more matches not shown…
Hyper-Verbose Identifiers110 hits · 112 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py11def _add_repo_root_to_syspath() -> None:CODE
LOWbottles/frontend/windows/dependency_install.py69 def __mark_last_step_completed(self) -> None:CODE
LOWbottles/frontend/windows/window.py204 def __schedule_donate_icon_swap(self):CODE
LOWbottles/frontend/windows/window.py214 def __resolve_donate_icon_name(self) -> Optional[str]:CODE
LOWbottles/frontend/windows/window.py316 def __maybe_prompt_winebridge_update(self):CODE
LOWbottles/frontend/windows/window.py494 def show_download_preferences_view(self, widget=False):CODE
LOWbottles/frontend/windows/window.py497 def show_runners_preferences_view(self, widget=False):CODE
LOWbottles/frontend/windows/window.py512 def __maybe_show_funding_dialog(self):CODE
LOWbottles/frontend/windows/envvars.py246 def __populate_inherited_list(self):CODE
LOWbottles/frontend/windows/envvars.py260 def __update_inherited_placeholder(self):CODE
LOWbottles/frontend/windows/dlloverrides.py152 def __populate_overrides_list(self):CODE
LOWbottles/frontend/windows/vkbasalt.py195 def __change_edge_detection_type(self, widget, edge_detection_type):CODE
LOWbottles/frontend/windows/drives.py122 def __populate_combo_and_drives(self):CODE
LOWbottles/frontend/views/bottle_versioning.py135 def show_manage_branches_dialog(self, widget):CODE
LOWbottles/frontend/views/preferences.py279 def __update_eagle_security_style(self, *_args):CODE
LOWbottles/frontend/views/preferences.py397 def __on_personal_repo_changed(self, row, repo_name):CODE
LOWbottles/frontend/views/preferences.py413 def __persist_personal_repositories(self):CODE
LOWbottles/frontend/views/preferences.py425 def __on_audio_driver_setting_changed(self, *_args):CODE
LOWbottles/frontend/views/preferences.py428 def __sync_audio_driver_selection(self, *_args):CODE
LOWbottles/frontend/views/preferences.py439 def __on_audio_driver_selected(self, combo, _pspec):CODE
LOWbottles/frontend/views/preferences.py454 def __display_unstable_candidate(self, component=["", {"Channel": "unstable"}]):CODE
LOWbottles/frontend/views/preferences.py459 def __populate_component_list(CODE
LOWbottles/frontend/views/preferences.py515 def __populate_runners_helper(CODE
LOWbottles/frontend/views/preferences.py725 def __populate_template_cache_rows(self, templates: list[dict]):CODE
LOWbottles/frontend/views/preferences.py773 def __format_template_subtitle(self, template: dict) -> str:CODE
LOWbottles/frontend/views/preferences.py798 def __confirm_clear_all_caches(self, widget):CODE
LOWbottles/frontend/views/preferences.py809 def __confirm_clear_temp_cache(self, widget):CODE
LOWbottles/frontend/views/preferences.py820 def __confirm_clear_templates_cache(self, widget):CODE
LOWbottles/frontend/views/bottle_preferences.py313 def __create_unavailable_popover(self, command: str | None) -> Gtk.Popover:CODE
LOWbottles/frontend/views/bottle_preferences.py358 def __add_unavailable_indicator(self, row: Adw.ActionRow, command: str | None):CODE
LOWbottles/frontend/views/bottle_preferences.py372 def __copy_command_to_clipboard(self, _widget, command: str):CODE
LOWbottles/frontend/views/bottle_preferences.py446 def __update_working_directory_row(self, working_dir=None):CODE
LOWbottles/frontend/views/bottle_preferences.py809 def __dll_component_task_func(self, *args, **kwargs):CODE
LOWbottles/frontend/views/eagle.py161 def __mark_last_step_completed(self) -> None:CODE
LOWbottles/frontend/views/bottle_details.py212 def __show_versioning_settings(self, widget):CODE
LOWbottles/frontend/views/bottle_details.py635 def __run_executable_with_args(self, widget):CODE
LOWbottles/frontend/views/new_bottle_dialog.py312 def __mark_last_step_completed(self) -> None:CODE
LOWbottles/frontend/views/new_bottle_dialog.py414 def __prompt_cancel_confirmation(CODE
LOWbottles/frontend/views/new_bottle_dialog.py506 def __start_cancellation_cleanup(self) -> None:CODE
LOWbottles/frontend/widgets/library.py154 def __handle_initialization_failure(self, message: str):CODE
LOWbottles/frontend/widgets/program.py580 def _on_desktop_entry_created(data: Optional[Result] = None) -> None:CODE
LOWbottles/frontend/widgets/component.py261 def _restore_pre_download_visibility(self):CODE
LOWbottles/tests/conftest.py2def _add_repo_root_to_syspath() -> None:CODE
LOWbottles/tests/frontend/test_playtime_service.py58def test_format_subtitle_with_data():CODE
LOWbottles/tests/frontend/test_playtime_service.py80def test_format_subtitle_never_played():CODE
LOWbottles/tests/frontend/test_playtime_service.py88def test_service_disabled_returns_none():CODE
LOW…nd/integration/playtime/test_wine_executor_playtime.py42def test_wine_executor_emits_and_updates_totals(mocker):CODE
LOW…/backend/integration/playtime/test_uniqueness_retry.py8def test_uniqueness_retry_smoke(manager):CODE
LOW…backend/integration/playtime/test_disabled_tracking.py9def test_disabled_tracking_smoke(temp_xdg_home):CODE
LOW…es/tests/backend/integration/playtime/test_recovery.py47def test_recovery_different_bottles(manager):CODE
LOW…es/tests/backend/integration/playtime/test_recovery.py88def test_recovery_same_bottle_different_programs(manager):CODE
LOW…es/tests/backend/integration/playtime/test_recovery.py124def test_cli_manager_init_does_not_recover_live_sessions(temp_xdg_home, test_settings_stub):CODE
LOW…tests/backend/integration/playtime/test_aggregation.py8def test_same_program_aggregates_into_one_row(manager):CODE
LOW…tests/backend/integration/playtime/test_aggregation.py49def test_different_programs_separate_rows(manager):CODE
LOW…tests/backend/integration/playtime/test_failure_run.py8def test_failure_run_marks_unknown_and_updates_totals(manager):CODE
LOW…tests/backend/integration/playtime/test_failure_run.py37def test_multiple_failures_different_bottles(manager):CODE
LOW…tests/backend/integration/playtime/test_failure_run.py73def test_multiple_failures_same_bottle_different_programs(manager):CODE
LOW…ts/backend/integration/playtime/test_successful_run.py8def test_successful_run_finalizes_and_updates_totals(manager):CODE
LOW…ts/backend/integration/playtime/test_successful_run.py39def test_success_multiple_apps_two_same_bottle_one_other(manager):CODE
LOW…/backend/integration/playtime/test_playtime_signals.py39def test_signals_flow_success():CODE
50 more matches not shown…
Excessive Try-Catch Wrapping94 hits · 104 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/main.py231 except Exception as e:CODE
LOWbottles/frontend/main.py264 except Exception as e:CODE
LOWbottles/frontend/main.py293 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py173 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py222 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py286 except Exception:CODE
LOWbottles/frontend/utils/playtime.py329 except Exception:CODE
LOWbottles/frontend/utils/playtime.py370 except Exception:CODE
LOWbottles/frontend/utils/playtime.py393 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py412 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py431 except Exception as e:CODE
LOWbottles/frontend/windows/envvars.py75 except Exception as e:CODE
LOWbottles/frontend/windows/playtimegraph.py261 except Exception as e:CODE
LOWbottles/frontend/views/bottle_versioning.py107 except Exception:CODE
MEDIUMbottles/frontend/views/bottle_versioning.py102def _refresh_details_badge(self):CODE
LOWbottles/frontend/views/bottle_details.py224 except Exception:CODE
MEDIUMbottles/frontend/views/bottle_details.py218def _fetch():CODE
LOWbottles/frontend/widgets/program.py173 except Exception as e:CODE
LOWbottles/frontend/widgets/program.py651 except Exception as e:CODE
LOW…nd/integration/playtime/test_wine_executor_playtime.py30 except Exception:CODE
LOW…/backend/integration/playtime/test_playtime_signals.py34 except Exception:CODE
LOWbottles/backend/cabextract.py114 except Exception as exception:CODE
LOWbottles/backend/managers/library.py80 except Exception as e:CODE
LOWbottles/backend/managers/steamgriddb.py55 except Exception:CODE
LOWbottles/backend/managers/playtime.py157 except Exception:CODE
LOWbottles/backend/managers/playtime.py249 except Exception:CODE
LOWbottles/backend/managers/playtime.py252 except Exception:CODE
LOWbottles/backend/managers/playtime.py260 except Exception:CODE
LOWbottles/backend/managers/playtime.py481 except Exception as e:CODE
LOWbottles/backend/managers/playtime.py746 except Exception:CODE
LOWbottles/backend/managers/playtime.py848 except Exception:CODE
LOWbottles/backend/managers/playtime.py920 except Exception:CODE
LOWbottles/backend/managers/playtime.py968 except Exception as e:CODE
LOWbottles/backend/managers/playtime.py1006 except Exception as e:CODE
LOWbottles/backend/managers/playtime.py1044 except Exception as e:CODE
MEDIUMbottles/backend/managers/playtime.py257def _atexit_shutdown(self) -> None:CODE
LOWbottles/backend/managers/eagle.py136 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py171 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py259 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py287 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py343 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py350 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py382 except Exception:CODE
LOWbottles/backend/managers/eagle.py387 except Exception:CODE
LOWbottles/backend/managers/eagle.py395 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py406 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py800 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py964 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py373 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py384 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py396 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py408 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py435 except Exception as e:CODE
LOWbottles/backend/managers/dependency.py646 except Exception as e:CODE
LOWbottles/backend/managers/dependency.py727 except Exception as e:CODE
LOWbottles/backend/managers/component.py534 except Exception as e:CODE
MEDIUMbottles/backend/managers/manager.py533def clear_temp_cache(self) -> Result[None]:CODE
LOWbottles/backend/managers/manager.py197 except Exception:CODE
LOWbottles/backend/managers/manager.py316 except Exception as error: # pragma: no cover - defensiveCODE
LOWbottles/backend/managers/manager.py332 except Exception as error: # pragma: no cover - defensiveCODE
34 more matches not shown…
Deep Nesting82 hits · 78 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/cli/cli.py288CODE
LOWbottles/frontend/cli/cli.py447CODE
LOWbottles/frontend/cli/cli.py638CODE
LOWbottles/frontend/cli/cli.py760CODE
LOWbottles/frontend/windows/crash.py62CODE
LOWbottles/frontend/windows/window.py82CODE
LOWbottles/frontend/windows/bulkupdate.py136CODE
LOWbottles/frontend/windows/playtimegraph.py120CODE
LOWbottles/frontend/windows/playtimegraph.py334CODE
LOWbottles/frontend/windows/vkbasalt.py85CODE
LOWbottles/frontend/views/preferences.py515CODE
LOWbottles/frontend/views/details.py116CODE
LOWbottles/frontend/views/eagle.py205CODE
LOWbottles/frontend/views/eagle.py579CODE
LOWbottles/fvs/repo.py81CODE
LOWbottles/fvs/repo.py124CODE
LOWbottles/fvs/repo.py175CODE
LOWbottles/fvs/repo.py222CODE
LOWbottles/backend/downloader.py60CODE
LOWbottles/backend/cabextract.py72CODE
LOWbottles/backend/health.py103CODE
LOWbottles/backend/managers/backup.py88CODE
LOWbottles/backend/managers/backup.py159CODE
LOWbottles/backend/managers/backup.py314CODE
LOWbottles/backend/managers/journal.py138CODE
LOWbottles/backend/managers/importer.py36CODE
LOWbottles/backend/managers/conf.py38CODE
LOWbottles/backend/managers/conf.py113CODE
LOWbottles/backend/managers/ubisoftconnect.py53CODE
LOWbottles/backend/managers/installer.py85CODE
LOWbottles/backend/managers/installer.py169CODE
LOWbottles/backend/managers/playtime.py263CODE
LOWbottles/backend/managers/playtime.py754CODE
LOWbottles/backend/managers/eagle.py182CODE
LOWbottles/backend/managers/eagle.py292CODE
LOWbottles/backend/managers/eagle.py354CODE
LOWbottles/backend/managers/eagle.py409CODE
LOWbottles/backend/managers/eagle.py313CODE
LOWbottles/backend/managers/versioning.py225CODE
LOWbottles/backend/managers/dependency.py156CODE
LOWbottles/backend/managers/dependency.py390CODE
LOWbottles/backend/managers/dependency.py567CODE
LOWbottles/backend/managers/dependency.py675CODE
LOWbottles/backend/managers/component.py58CODE
LOWbottles/backend/managers/component.py129CODE
LOWbottles/backend/managers/component.py310CODE
LOWbottles/backend/managers/component.py365CODE
LOWbottles/backend/managers/component.py461CODE
LOWbottles/backend/managers/component.py501CODE
LOWbottles/backend/managers/repository.py112CODE
LOWbottles/backend/managers/steam.py533CODE
LOWbottles/backend/managers/manager.py698CODE
LOWbottles/backend/managers/manager.py987CODE
LOWbottles/backend/managers/manager.py1060CODE
LOWbottles/backend/managers/manager.py1212CODE
LOWbottles/backend/managers/manager.py1593CODE
LOWbottles/backend/managers/manager.py2472CODE
LOWbottles/backend/managers/manager.py2551CODE
LOWbottles/backend/managers/manager.py1228CODE
LOWbottles/backend/utils/terminal.py86CODE
22 more matches not shown…
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHbottles/frontend/widgets/playtimechart_monthly.py0get the current font scale factor from gtk settings.STRING
HIGHbottles/frontend/widgets/playtimechart_weekly.py0get the current font scale factor from gtk settings.STRING
HIGHbottles/frontend/widgets/playtimechart_hourly.py0get the current font scale factor from gtk settings.STRING
HIGHbottles/frontend/widgets/playtimechart_monthly.py0show tooltip with time value when hovering over bars.STRING
HIGHbottles/frontend/widgets/playtimechart_weekly.py0show tooltip with time value when hovering over bars.STRING
HIGHbottles/frontend/widgets/playtimechart_hourly.py0show tooltip with time value when hovering over bars.STRING
Unused Imports26 hits · 26 pts
SeverityFileLineSnippetContext
LOWtests/test_fvs.py8CODE
LOWbottles/frontend/utils/playtime.py22CODE
LOWbottles/frontend/cli/cli.py51CODE
LOWbottles/frontend/windows/upgradeversioning.py18CODE
LOWbottles/frontend/windows/dependency_install.py17CODE
LOWbottles/frontend/windows/window.py28CODE
LOWbottles/frontend/windows/window.py31CODE
LOWbottles/frontend/windows/window.py49CODE
LOWbottles/frontend/windows/versioning_commit.py18CODE
LOWbottles/frontend/windows/versioning_branch.py18CODE
LOWbottles/frontend/windows/envvars.py18CODE
LOWbottles/frontend/windows/duplicate.py18CODE
LOWbottles/frontend/windows/versioning_settings.py19CODE
LOWbottles/frontend/views/list.py21CODE
LOWbottles/frontend/views/list.py24CODE
LOWbottles/frontend/views/bottle_versioning.py25CODE
LOWbottles/frontend/views/new_bottle_dialog.py30CODE
LOWbottles/frontend/views/new_bottle_dialog.py30CODE
LOWbottles/frontend/widgets/program.py21CODE
LOWbottles/frontend/widgets/playtimechart_hourly.py31CODE
LOWbottles/frontend/widgets/playtimechart_hourly.py32CODE
LOWbottles/backend/runner.py30CODE
LOWbottles/backend/globals.py23CODE
LOWbottles/backend/managers/registry_rule.py12CODE
LOWbottles/backend/managers/playtime.py5CODE
LOWbottles/backend/managers/playtime.py15CODE
Redundant / Tautological Comments13 hits · 22 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/windows/playtimegraph.py202 # Check if there's sub-minute playtime for todayCOMMENT
LOWbottles/frontend/windows/playtimegraph.py290 # Check if we have required IDsCOMMENT
LOWbottles/frontend/windows/vkbasalt.py104 # Check if configuration file exists; parse the configuration file if it existsCOMMENT
LOWbottles/frontend/windows/vkbasalt.py110 # Check if effects are usedCOMMENT
LOWbottles/frontend/windows/vkbasalt.py119 # Check if subeffects are usedCOMMENT
LOWbottles/frontend/views/importer.py186 # Check if this is an import taskCOMMENT
LOWbottles/frontend/views/bottle_details.py511 # Check if this is a backup task for our bottleCOMMENT
LOWbottles/frontend/widgets/playtimechart_monthly.py152 # Check if width changed - re-render if neededCOMMENT
LOWbottles/frontend/widgets/playtimechart_weekly.py151 # Check if width changed - re-render if neededCOMMENT
LOWbottles/frontend/widgets/playtimechart_hourly.py142 # Check if width changed - re-render if neededCOMMENT
LOWbottles/backend/globals.py92# Check if some tools are availableCOMMENT
LOWbottles/backend/managers/backup.py98 # Check if this directory should be excludedCOMMENT
LOWbottles/backend/managers/manager.py1264 # Check if the path in the bottle config corresponds to the folder nameCOMMENT
Cross-Language Confusion3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHbottles/frontend/views/preferences.py366 subprocess.Popen("sleep 1 && bottles & disown", shell=True)CODE
HIGHbottles/backend/utils/terminal.py72 f"command -v {terminal[0]} > /dev/null && echo 1 || echo 0",CODE
HIGHbottles/backend/utils/terminal.py72 f"command -v {terminal[0]} > /dev/null && echo 1 || echo 0",CODE
AI Structural Patterns12 hits · 12 pts
SeverityFileLineSnippetContext
LOWbottles/tests/backend/wine/test_executor.py45CODE
LOWbottles/backend/managers/sandbox.py34CODE
LOWbottles/backend/managers/manager.py1593CODE
LOWbottles/backend/utils/vulkan.py117CODE
LOWbottles/backend/models/config.py277CODE
LOWbottles/backend/wine/xcopy.py14CODE
LOWbottles/backend/wine/wineprogram.py85CODE
LOWbottles/backend/wine/wineprogram.py39CODE
LOWbottles/backend/wine/msiexec.py33CODE
LOWbottles/backend/wine/start.py14CODE
LOWbottles/backend/wine/executor.py42CODE
LOWbottles/backend/wine/winecommand.py137CODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALbottles/frontend/windows/playtimegraph.py258 totals_data = self.parent.window.manager.playtime_tracker.get_totals(CODE
TODO Padding4 hits · 9 pts
SeverityFileLineSnippetContext
LOWbottles/backend/models/config.py64 # share_host_ro: bool = True # TODO: implement, requires the Bottles runtime (next) for a minimal sandboxCOMMENT
LOWbottles/backend/models/config.py65 # share_gpu: bool = True # TODO: implementCOMMENT
LOWbottles/backend/models/config.py66 # share_paths_ro: List[str] = field(default_factory=lambda: []) # TODO: implementCOMMENT
LOWbottles/backend/models/config.py67 # share_paths_rw: List[str] = field(default_factory=lambda: []) # TODO: implementCOMMENT
Modern Structural Boilerplate4 hits · 4 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/windows/dependency_install.py100 def update_progress(self, fraction: Optional[float]) -> None:CODE
LOWbottles/frontend/views/list.py187 def update_bottles_list(self, *args) -> None:CODE
LOWbottles/frontend/views/new_bottle_dialog.py269 def update_output(self, text: str) -> None:CODE
LOWbottles/backend/utils/gsettings_stub.py23 def set_string(key: str, value: str) -> None:CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbottles/backend/wine/winecommand.py613 # Create the sh script where Gamescope will execute itCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/views/bottle_preferences.py787 def run_task(status=True):CODE
AI Slop Vocabulary1 hit · 1 pts
SeverityFileLineSnippetContext
MEDIUMbottles/backend/managers/eagle.py410 """Perform comprehensive PE analysis with YARA pattern matching."""STRING