Repository Analysis

odysseus-dev/odysseus

Self-hosted AI workspace.

28.2 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of odysseus-dev/odysseus, a Python project with 84,498 GitHub stars. SynthScan v2.0 examined 420,731 lines of code across 1303 source files, recording 8717 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 28.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).

28.2
Adjusted Score
28.2
Raw Score
100%
Time Factor
2026-07-30
Last Push
84.5K
Stars
Python
Language
420.7K
Lines of Code
1.3K
Files
8.7K
Pattern Hits
2026-08-02
Scan Date
0.20
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 2HIGH 259MEDIUM 848LOW 7608

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 8717 distinct pattern matches across 22 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.

Hyper-Verbose Identifiers4341 hits · 4711 pts
SeverityFileLineSnippetContext
LOWsetup.py54def _prompt_admin_credentials():CODE
LOWapp.py604async def session_not_found_handler(request: Request, exc: SessionNotFoundError):CODE
LOWapp.py608async def invalid_file_upload_handler(request: Request, exc: InvalidFileUploadError):CODE
LOWapp.py612async def llm_service_error_handler(request: Request, exc: LLMServiceError):CODE
LOWapp.py18def register_static_mime_types() -> None:CODE
LOWapp.py1213 async def _skill_audit_nightly_loop():CODE
LOWcore/auth.py192 def _drop_reserved_loaded_users(self):CODE
LOWcore/auth.py217 def _migrate_legacy_admin_role(self):CODE
LOWcore/auth.py506 def totp_get_provisioning_uri(self, username: str, secret: str) -> str:CODE
LOWcore/models.py18def set_session_manager_instance(manager: "SessionManager"):CODE
LOWcore/models.py24def get_session_manager_instance() -> Optional["SessionManager"]:CODE
LOWcore/platform_compat.py338def get_wsl_windows_user_profile() -> Optional[str]:CODE
LOWcore/platform_compat.py435def run_wsl_windows_powershell(CODE
LOWcore/database.py826def _migrate_add_document_archived_column():CODE
LOWcore/database.py850def _migrate_add_owner_column():CODE
LOWcore/database.py897def _migrate_add_hidden_models_column():CODE
LOWcore/database.py920def _migrate_add_model_endpoint_owner_column():CODE
LOWcore/database.py952def _migrate_add_provider_auth_id_column():CODE
LOWcore/database.py977def _migrate_add_model_type_column():CODE
LOWcore/database.py1000def _migrate_add_model_endpoint_refresh_columns():CODE
LOWcore/database.py1028def _migrate_add_task_run_model_column():CODE
LOWcore/database.py1051def _migrate_add_supports_tools_column():CODE
LOWcore/database.py1075def _migrate_add_cached_models_column():CODE
LOWcore/database.py1097def _migrate_add_pinned_models_column():CODE
LOWcore/database.py1120def _migrate_add_notes_sort_order():CODE
LOWcore/database.py1175def _migrate_add_folder_column():CODE
LOWcore/database.py1198def _migrate_add_token_columns():CODE
LOWcore/database.py1222def _migrate_add_owner_to_table(table_name: str, index_name: str):CODE
LOWcore/database.py1246def _migrate_add_multiuser_owner_columns():CODE
LOWcore/database.py1281def _migrate_add_api_token_scopes_column():CODE
LOWcore/database.py1309def _migrate_assign_legacy_owner():CODE
LOWcore/database.py1443def _migrate_add_tidy_verdict():CODE
LOWcore/database.py1456def _migrate_add_doc_source_email_cols():CODE
LOWcore/database.py1572def _migrate_add_oauth_config():CODE
LOWcore/database.py1584def _migrate_add_disabled_tools():CODE
LOWcore/database.py1596def _migrate_add_mcp_oauth_tokens_column():CODE
LOWcore/database.py1654def _migrate_add_notifications_enabled():CODE
LOWcore/database.py1667def _migrate_add_crew_member_id():CODE
LOWcore/database.py2151def _migrate_encrypt_endpoint_keys():CODE
LOWcore/database.py2175def _migrate_encrypt_signatures():CODE
LOWcore/database.py2207def _migrate_encrypt_email_passwords():CODE
LOWcore/database.py2267def _migrate_add_calendar_origin():CODE
LOWcore/database.py2294def _migrate_add_calendar_account_id():CODE
LOWcore/database.py2320def _migrate_add_caldav_sync_columns():CODE
LOWcore/database.py2372def _migrate_add_calendar_recurrence_exdates():CODE
LOWcore/database.py781def _migrate_add_last_message_at_column():CODE
LOWcore/database.py1258def _migrate_add_gallery_caption_column():CODE
LOWcore/database.py1416def _migrate_backfill_document_owner_from_session():CODE
LOWcore/database.py1480def _migrate_add_task_automation_columns():CODE
LOWcore/database.py1633def _migrate_drop_ping_notes_tasks():CODE
LOWcore/database.py1684def _migrate_add_assistant_columns():CODE
LOWcore/database.py1815def _migrate_seed_email_account():CODE
LOWcore/database.py2120def _migrate_add_email_smtp_security():CODE
LOWcore/database.py2241def _migrate_add_calendar_is_utc():CODE
LOWcore/database.py2345def _migrate_add_calendar_metadata():CODE
LOWcore/database.py2481def update_session_last_accessed(session_id: str):CODE
LOWcore/database.py2089def _scrub_legacy_chat_message_fts_media(conn) -> None:STRING
LOWcore/database.py1553def _migrate_add_email_oauth_columns():STRING
LOWcore/database.py1977def _migrate_backfill_task_folders():STRING
LOWcore/database.py2003def _migrate_chat_messages_fts():STRING
4281 more matches not shown…
Decorative Section Separators705 hits · 2606 pts
SeverityFileLineSnippetContext
MEDIUMcore/auth.py258 # ------------------------------------------------------------------COMMENT
MEDIUMcore/auth.py260 # ------------------------------------------------------------------COMMENT
MEDIUMcore/auth.py486 # ------------------------------------------------------------------COMMENT
MEDIUMcore/auth.py488 # ------------------------------------------------------------------COMMENT
MEDIUMcore/auth.py571 # ------------------------------------------------------------------COMMENT
MEDIUMcore/auth.py573 # ------------------------------------------------------------------COMMENT
MEDIUMcore/platform_compat.py39# ── File permissions ────────────────────────────────────────────────────────COMMENT
MEDIUMcore/platform_compat.py57# ── Process detach / liveness / teardown ────────────────────────────────────COMMENT
MEDIUMcore/platform_compat.py144# ── Shell / executable resolution ───────────────────────────────────────────COMMENT
MEDIUMcore/session_manager.py396 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py398 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py586 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py588 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py651 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py653 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py80 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py82 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py200 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py202 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py682 # ------------------------------------------------------------------COMMENT
MEDIUMcore/session_manager.py684 # ------------------------------------------------------------------COMMENT
MEDIUMtests/test_redos_xml_tool_parsers.py45# ── correctness is preserved ────────────────────────────────────────────────COMMENT
MEDIUMtests/test_redos_xml_tool_parsers.py118# ── pathological inputs no longer blow up ───────────────────────────────────COMMENT
MEDIUMtests/test_workspace_confine.py71# ── the central binding: the safety net ─────────────────────────────────COMMENT
MEDIUMtests/test_workspace_confine.py271# ── get_workspace tool ──────────────────────────────────────────────────COMMENT
MEDIUMtests/test_workspace_confine.py281# ── no leak across calls ────────────────────────────────────────────────COMMENT
MEDIUMtests/test_workspace_confine.py289# ── tool selection: an active workspace is the file-work signal ─────────COMMENT
MEDIUMtests/test_workspace_confine.py446# ── bind-time vetting of the workspace root ─────────────────────────────COMMENT
MEDIUMtests/test_workspace_confine.py52# ── the resolver helper ────────────────────────────────────────────────COMMENT
MEDIUMtests/test_workspace_confine.py96# ── end-to-end via execute_tool_block (sets + resets the binding) ───────COMMENT
MEDIUMtests/test_workspace_confine.py425# ── browse route is admin-gated ─────────────────────────────────────────COMMENT
MEDIUMtests/test_workspace_confine.py504# ── send-time privilege gate (no path oracle for non-admins) ────────────COMMENT
MEDIUMtests/test_skill_index_toolset_gating.py15# ── module-load stubbing (matches other tests in this repo) ──────────COMMENT
MEDIUMtests/test_imap_leak_fixes.py42# ── email_helpers ──────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_imap_leak_fixes.py109# ── email_server ───────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_imap_leak_fixes.py234# ── connect-time leak: _imap_connect / _open_imap_connection (#3174) ──────────COMMENT
MEDIUMtests/test_calendar_recurrence.py16# ── _resolve_base_uid ──────────────────────────────────────────────────COMMENT
MEDIUMtests/test_calendar_recurrence.py45# ── _expand_rrule ──────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_security_regressions.py117# ── secure-by-default deployment + integration storage ─────────COMMENT
MEDIUMtests/test_security_regressions.py241# ── provider auth error normalization ──────────────────────────COMMENT
MEDIUMtests/test_security_regressions.py278# ── compose-upload path traversal block ─────────────────────────COMMENT
MEDIUMtests/test_security_regressions.py845# ── web_fetch SSRF guard (PR #111 merge gate) ───────────────────────COMMENT
MEDIUMtests/test_security_regressions.py23# ── prompt-injection context wrapper ────────────────────────────COMMENT
MEDIUMtests/test_security_regressions.py45# ── secret_storage ─────────────────────────────────────────────COMMENT
MEDIUMtests/test_security_regressions.py203# ── _q IMAP mailbox quoter ─────────────────────────────────────COMMENT
MEDIUMtests/test_security_regressions.py506# ── require_user dependency rejects anon callers ────────────────COMMENT
MEDIUMtests/test_security_regressions.py1247# ── DNS rebinding (audit finding 8.1) ────────────────────────────────COMMENT
MEDIUMtests/test_skill_index_prompt_injection.py29# ── module-load stubbing ─────────────────────────────────────────────────COMMENT
MEDIUMtests/test_email_oauth.py36# ── OAuth state signing ──────────────────────────────────────────COMMENT
MEDIUMtests/test_email_oauth.py654# ── Password-account regression ───────────────────────────────────COMMENT
MEDIUMtests/test_email_oauth.py136# ── XOAUTH2 SASL framing ─────────────────────────────────────────COMMENT
MEDIUMtests/test_email_oauth.py150# ── Helpers for in-memory DB fixtures ────────────────────────────COMMENT
MEDIUMtests/test_email_oauth.py190# ── Token encryption at rest ─────────────────────────────────────COMMENT
MEDIUMtests/test_email_oauth.py258# ── Real OAuth callback route ─────────────────────────────────────COMMENT
MEDIUMtests/test_email_oauth.py578# ── Token refresh scenarios ───────────────────────────────────────COMMENT
MEDIUMtests/test_email_test_connection_oauth.py19# ── Helpers ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_email_test_connection_oauth.py56# ── test_connection route: OAuth awareness ────────────────────────────────────COMMENT
MEDIUMtests/test_tool_path_confinement.py27# ── Unit tests on _is_sensitive_path ──────────────────────────────────COMMENT
MEDIUMtests/test_tool_path_confinement.py81# ── Unit tests on _resolve_tool_path ─────────────────────────────────COMMENT
MEDIUMtests/test_tool_path_confinement.py220# ── Integration: dispatch-level tests ────────────────────────────────COMMENT
645 more matches not shown…
Excessive Try-Catch Wrapping1865 hits · 1560 pts
SeverityFileLineSnippetContext
LOWsetup.py220 except Exception:CODE
LOWsetup.py267 except Exception as e:CODE
LOWsetup.py277 except Exception as e:CODE
MEDIUMapp.py208def _stop_background():CODE
MEDIUMapp.py635def _stop_background():CODE
MEDIUMapp.py1044def _startup_mcp_connections():CODE
LOWapp.py1144 except Exception as e:CODE
LOWapp.py1151 except Exception as e:CODE
LOWapp.py1153 except Exception as e:CODE
LOWapp.py1260 except Exception:CODE
LOWapp.py1265 except Exception as e:CODE
LOWapp.py1270 except Exception as e:CODE
LOWapp.py112except Exception as e:CODE
LOWapp.py211 except Exception:CODE
LOWapp.py230 except Exception:CODE
LOWapp.py390 except Exception as _e:CODE
LOWapp.py444 except Exception as _e:CODE
LOWapp.py454 except Exception:CODE
LOWapp.py522 except Exception as _e:CODE
LOWapp.py638 except Exception:CODE
LOWapp.py940 except Exception:CODE
LOWapp.py959 except Exception:CODE
LOWapp.py982 except Exception:CODE
LOWapp.py1027 except Exception as e:CODE
LOWapp.py1040 except Exception as _e:CODE
LOWapp.py1071 except Exception as e:CODE
LOWapp.py1088 except Exception as e:CODE
LOWapp.py1090 except Exception as e:CODE
LOWapp.py1107 except Exception as e:CODE
LOWapp.py1122 except Exception as e:CODE
LOWapp.py1179 except Exception as e:CODE
LOWapp.py1202 except Exception as e:CODE
LOWapp.py1219 except Exception:CODE
LOWapp.py1233 except Exception as e:CODE
LOWlauncher.py62 except Exception:CODE
LOWlauncher.py108 except Exception:CODE
LOWlauncher.py121 except Exception:CODE
MEDIUMlauncher.py93def setup_system_tray(url):CODE
LOWcore/auth.py139 except Exception as e:CODE
LOWcore/auth.py155 except Exception as e:CODE
LOWcore/auth.py165 except Exception as e:CODE
LOWcore/auth.py321 except Exception:CODE
MEDIUMcore/auth.py121def _load(self):CODE
LOWcore/platform_compat.py130 except Exception:CODE
LOWcore/platform_compat.py137 except Exception:CODE
LOWcore/platform_compat.py140 except Exception:CODE
LOWcore/platform_compat.py306 except Exception:CODE
LOWcore/platform_compat.py334 except Exception:CODE
LOWcore/platform_compat.py346 except Exception:CODE
LOWcore/platform_compat.py357 except Exception:CODE
LOWcore/database.py818 except Exception as e:CODE
LOWcore/database.py823 except Exception:CODE
LOWcore/database.py841 except Exception as e:CODE
LOWcore/database.py846 except Exception:CODE
LOWcore/database.py889 except Exception as e:CODE
LOWcore/database.py894 except Exception:CODE
LOWcore/database.py912 except Exception as e:CODE
LOWcore/database.py917 except Exception:CODE
LOWcore/database.py943 except Exception as e:CODE
LOWcore/database.py948 except Exception:CODE
1805 more matches not shown…
Cross-Language Confusion239 hits · 1351 pts
SeverityFileLineSnippetContext
HIGHcore/database.py461 # is the historical default. When non-null, the model picker only showsCOMMENT
HIGHtests/test_document_ai_preview_refresh_js.py44 refresh = "markdownPreviewWasVisible && _refreshMarkdownPreviewIfVisible(docId, newContent)"CODE
HIGHtests/test_preset_local_storage_js.py21 }}[key] ?? null;CODE
HIGHtests/test_local_endpoint_api_key_js.py59class FormData {{ append(k, v) {{ appended.push([k, String(v)]); }} }}CODE
HIGHtests/test_local_endpoint_api_key_js.py62 if (!(id in FIELDS)) return null;CODE
HIGHtests/test_local_endpoint_api_key_js.py75let _recentlyAddedEpId = null;CODE
HIGHtests/test_calendar_utils_dates_js.py29 addNull: _addDays(null, 1),STRING
HIGHtests/test_calendar_utils_dates_js.py31 shiftNull: _shiftDT(null, 1),STRING
HIGHtests/test_calendar_utils_dates_js.py33 localNull: _localDateOf(null),STRING
HIGHtests/test_llm_core_usage_finish_delta.py5{"delta": {"role": "assistant", "content": null}, "finish_reason": "stop"}).STRING
HIGHtests/test_llm_core_usage_finish_delta.py107 # Some providers emit {"choices": [null]} as a heartbeat/keepalive chunk.COMMENT
HIGHtests/test_llm_core_usage_finish_delta.py119 # Chunk with both choices:[null] and usage:null — neither field should panic.COMMENT
HIGHtests/test_markdown_rendering_js.py26 globalThis.window = { location: { origin: 'http://localhost' }, katex: null };CODE
HIGHtests/test_markdown_rendering_js.py32 const display = !!(opts && opts.displayMode);CODE
HIGHtests/test_cookbook_progress_signal_js.py56 const a = computeProgressSignal('1.81G', null, '73', 'Downloading 73%| 1.81G/2.49G [eta 0:05:11]');CODE
HIGHtests/test_cookbook_progress_signal_js.py57 const b = computeProgressSignal('1.81G', null, '73', 'Downloading 73%| 1.81G/2.49G [eta 0:09:42] -');CODE
HIGHtests/test_cookbook_progress_signal_js.py59 const c = computeProgressSignal('2.10G', null, '84', 'Downloading 84%| 2.10G/2.49G');CODE
HIGHtests/test_cookbook_progress_signal_js.py74 const s1 = computeProgressSignal(null, null, null, 'Building wheel for vllm ... compiling csrc/attention.cu');CODE
HIGHtests/test_cookbook_progress_signal_js.py75 const s2 = computeProgressSignal(null, null, null, 'Building wheel for vllm ... compiling csrc/cache_kernels.cu'CODE
HIGHtests/test_cookbook_progress_signal_js.py76 const hung1 = computeProgressSignal(null, null, null, 'Building wheel for vllm ... (no output)');CODE
HIGHtests/test_cookbook_progress_signal_js.py77 const hung2 = computeProgressSignal(null, null, null, 'Building wheel for vllm ... (no output)');CODE
HIGHtests/test_slash_setup_provider_aliases.py19assert(zenFromCommand && zenFromCommand.url === 'https://opencode.ai/zen/v1', 'opencode zen command alias failed');CODE
HIGHtests/test_slash_setup_provider_aliases.py21assert(goFromCommand && goFromCommand.url === 'https://opencode.ai/zen/go/v1', 'opencode-go command alias failed');CODE
HIGHtests/test_slash_setup_provider_aliases.py23assert(zenCredential && zenCredential.provider.name === 'OpenCode Zen', 'opencode-zen credential provider failed');CODE
HIGHtests/test_slash_setup_provider_aliases.py26assert(goCredential && goCredential.provider.name === 'OpenCode Go', 'opencode go credential provider failed');CODE
HIGHtests/test_note_reminder_email_oauth.py61 assert "account.has_smtp_password || account.oauth_provider === 'google'" in helperCODE
HIGHtests/test_resend_message_nondestructive.py27 assert "const replaceFromHere = Boolean(opts && opts.replaceFromHere);" in bodyCODE
HIGHtests/test_compare_js.py138 bad.push({name, type: typeof val, head: String(val).slice(0, 40)});CODE
HIGHtests/test_model_discovery_status.py29 '"mixed_ips":{"Online":true,"HostName":"ok","OS":"linux","TailscaleIPs":[null,123,"100.1.1.3"]}'CODE
HIGHtests/test_esc_menu_stack_js.py57 registerMenuDismiss(() => order.push('A'));CODE
HIGHtests/test_esc_menu_stack_js.py58 registerMenuDismiss(() => order.push('B'));CODE
HIGHtests/test_esc_menu_stack_js.py87 const unregA = registerMenuDismiss(() => order.push('A'));CODE
HIGHtests/test_esc_menu_stack_js.py88 registerMenuDismiss(() => order.push('B'));CODE
HIGHtests/test_esc_menu_stack_js.py112 const unreg = registerMenuDismiss(null);CODE
HIGHtests/test_snap_other_layers_nonarray_js.py44 computeSnap(null, 10, 20, {{ zoom: 1, canvasW: 800, canvasH: 600 }}),CODE
HIGHtests/test_snap_other_layers_nonarray_js.py46 computeSnap({{ id: 'L1', canvas: {{ width: 100, height: 50 }} }}, 12, 22, null)CODE
HIGHtests/test_cookbook_same_host_server_profiles_js.py27 assert "const selected = hostOrTask === _envState.remoteHost ? _selectedServer() : null;" in COOKBOOKCODE
HIGHtests/test_cookbook_same_host_server_profiles_js.py28 assert "const srv = selected || _serverByVal(hostOrTask);" in COOKBOOKCODE
HIGHtests/test_cookbook_same_host_server_profiles_js.py34 assert "_serverByVal?.(_envState.remoteServerKey || _envState.remoteHost || '')" in DOWNLOADCODE
HIGHtests/test_cookbook_same_host_server_profiles_js.py35 assert "_serverByVal?.(zombieCandidate.remoteServerKey || zombieCandidate.payload?.remote_server_key || _zh)" in DOWCODE
HIGHtests/test_cookbook_same_host_server_profiles_js.py36 assert "_serverByVal(_envState.remoteServerKey || remoteHost)" in HWFITCODE
HIGHtests/test_cookbook_same_host_server_profiles_js.py41 assert "_serverByVal?.(_es.remoteServerKey || _es.remoteHost || '')" in SERVECODE
HIGHtests/test_cookbook_same_host_server_profiles_js.py42 assert "port: host ? (server?.port || _getPort(host) || '') : ''" in SERVECODE
HIGHtests/test_cookbook_same_host_server_profiles_js.py59 assert "_serverByVal(_envState.remoteServerKey || _host)" in RUNNINGCODE
HIGHtests/test_model_sort_js.py31 objectsNull: sortModelObjects(null),STRING
HIGHtests/test_copy_message_strips_thinking_js.py43 globalThis.window = { location: { origin: 'http://localhost' }, katex: null };CODE
HIGHtests/test_providers_mixtral_logo_js.py22 f"console.log(JSON.stringify(providerLogo({json.dumps(model)}) !== null));"CODE
HIGHtests/test_tile_manager_snap_zones_js.py29 getElementById() {{ return null; }},CODE
HIGHtests/test_tile_manager_snap_zones_js.py30 querySelector() {{ return null; }},CODE
HIGHtests/test_tile_manager_snap_zones_js.py55 }} : null;CODE
HIGHtests/test_shell_routes.py508 "/opt/v && curl evil|sh",CODE
HIGHtests/test_cookbook_helpers.py363 assert 'ODYSSEUS_VLLM_BIN="$(command -v vllm 2>/dev/null || true)"' in scriptCODE
HIGHtests/test_cookbook_helpers.py467 assert '_odys_py3="$(command -v python3 2>/dev/null || true)"' in scriptCODE
HIGHtests/test_cookbook_helpers.py472 assert 'command -v python >/dev/null 2>&1 || python() { python3 "$@"; }' in scriptCODE
HIGHtests/test_cookbook_helpers.py271 The old `{ venv_check || user }` shape from #903 masked the failure:STRING
HIGHtests/test_cookbook_helpers.py274 `{ ! venv_check && user }` shape propagates the failure correctly.STRING
HIGHtests/test_provider_device_flow_js.py36 calls.push(url);CODE
HIGHtests/test_provider_device_flow_js.py55 openWindow: (url) => opened.push(url),CODE
HIGHtests/test_provider_device_flow_js.py87 openWindow: (url) => opened.push(url),CODE
HIGHtests/test_llm_core_streaming.py159 # call has arguments: null; the second (same delta) must still survive.COMMENT
179 more matches not shown…
Unused Imports528 hits · 466 pts
SeverityFileLineSnippetContext
LOWcore/auth.py13CODE
LOWcore/models.py12CODE
LOWcore/platform_compat.py14CODE
LOWcore/constants.py11CODE
LOWcore/constants.py12CODE
LOWcore/session_manager.py23CODE
LOWcore/session_manager.py23CODE
LOWcore/__init__.py12CODE
LOWcore/__init__.py12CODE
LOWcore/__init__.py12CODE
LOWcore/__init__.py12CODE
LOWcore/__init__.py12CODE
LOWcore/__init__.py12CODE
LOWcore/__init__.py20CODE
LOWcore/__init__.py21CODE
LOWcore/__init__.py22CODE
LOWcore/__init__.py23CODE
LOWcore/__init__.py23CODE
LOWcore/__init__.py23CODE
LOWcore/__init__.py23CODE
LOWcore/__init__.py29CODE
LOWcore/__init__.py29CODE
LOWcore/__init__.py30CODE
LOWcore/atomic_io.py14CODE
LOWtests/test_redos_xml_tool_parsers.py26CODE
LOWtests/test_redos_xml_tool_parsers.py28CODE
LOWtests/test_redos_xml_tool_parsers.py29CODE
LOWtests/test_notes_fail_closed_auth.py27CODE
LOWtests/test_plain_ui_control_open_panel.py1CODE
LOWtests/test_imap_leak_fixes.py17CODE
LOWtests/test_session_list_owner_scope.py12CODE
LOWtests/test_session_list_owner_scope.py33CODE
LOWtests/test_calendar_recurrence.py8CODE
LOWtests/test_security_regressions.py1315CODE
LOWtests/test_run_order_report.py9CODE
LOWtests/test_email_polly_imap_leak.py41CODE
LOWtests/test_skill_index_prompt_injection.py20CODE
LOWtests/test_skill_index_prompt_injection.py26CODE
LOWtests/test_scheduler_restart_doublefire.py15CODE
LOWtests/test_scheduler_restart_doublefire.py16CODE
LOWtests/test_memory_routes_shim.py15CODE
LOWtests/test_search_routes_shim.py5CODE
LOWtests/test_imap_move_uid.py9CODE
LOWtests/test_imap_move_uid.py10CODE
LOWtests/conftest.py62CODE
LOWtests/conftest.py26CODE
LOWtests/conftest.py27CODE
LOWtests/conftest.py28CODE
LOWtests/conftest.py29CODE
LOWtests/test_skills_manager_owner_isolation.py24CODE
LOWtests/test_skills_manager_owner_isolation.py43CODE
LOWtests/run_focus.py20CODE
LOWtests/test_service_health_email.py2CODE
LOWtests/test_carddav_password_encryption.py2CODE
LOWtests/test_carddav_password_encryption.py4CODE
LOWtests/test_carddav_password_encryption.py7CODE
LOWtests/test_upload_handler_atomicity.py26CODE
LOWtests/test_upload_handler_atomicity.py35CODE
LOWtests/test_upload_handler_atomicity.py166CODE
LOWtests/test_search_cache_invalidation.py15CODE
468 more matches not shown…
Deep Nesting469 hits · 322 pts
SeverityFileLineSnippetContext
LOWsetup.py239CODE
LOWapp.py500CODE
LOWapp.py1008CODE
LOWapp.py357CODE
LOWcore/platform_compat.py298CODE
LOWcore/platform_compat.py338CODE
LOWcore/database.py1309CODE
LOWcore/database.py1456CODE
LOWcore/database.py1480CODE
LOWcore/database.py1553CODE
LOWcore/database.py1613CODE
LOWcore/database.py1633CODE
LOWcore/database.py2151CODE
LOWcore/database.py2175CODE
LOWcore/database.py2207CODE
LOWcore/session_manager.py84CODE
LOWcore/session_manager.py686CODE
LOWtests/test_security_regressions.py1308CODE
LOWtests/test_security_regressions.py1326CODE
LOWtests/test_local_endpoint_api_key_js.py27CODE
LOWtests/test_model_routes.py1499CODE
LOWtests/test_tool_index_schema_parity.py18CODE
LOWtests/test_fenced_inline_args.py160CODE
LOWtests/test_task_scheduler_cancel.py43CODE
LOWtests/test_task_scheduler_cancel.py59CODE
LOWtests/test_null_owner_gates.py30CODE
LOWtests/test_review_regressions.py1232CODE
LOWtests/test_toast_dismiss_pointer_events.py30CODE
LOWtests/test_toast_dismiss_pointer_events.py51CODE
LOWtests/test_toast_dismiss_pointer_events.py108CODE
LOWtests/test_tool_implementations_shim.py115CODE
LOWtests/test_chat_route_tool_policy.py29CODE
LOWtests/test_chat_route_tool_policy.py57CODE
LOWtests/test_document_diff_discard_on_update_js.py29CODE
LOWtests/test_webhook_trigger_auth_exempt.py30CODE
LOWtests/test_gallery_endpoint_hardening.py175CODE
LOWtests/test_chat_helpers_bg_tasks_tracked.py21CODE
LOWtests/test_llm_core_reasoning.py44CODE
LOWtests/test_diffusion_server_security.py41CODE
LOWtests/tools/build_oversized_test_split_plan.py48CODE
LOW…rations/claude/skills/odysseus/scripts/odysseus_api.py52CODE
LOWintegrations/codex/scripts/odysseus_api.py52CODE
LOWscripts/import_from_vllm_recipes.py245CODE
LOWscripts/diffusion_server.py258CODE
LOWscripts/diffusion_server.py342CODE
LOWscripts/diffusion_server.py888CODE
LOWscripts/mlx_image_server.py329CODE
LOWscripts/mlx_image_server.py387CODE
LOWscripts/update_database.py73CODE
LOWscripts/add_hwfit_models.py251CODE
LOWscripts/pr_blocker_audit.py297CODE
LOWscripts/pr_blocker_audit.py432CODE
LOWmcp_servers/memory_server.py126CODE
LOWmcp_servers/rag_server.py69CODE
LOWmcp_servers/image_gen_server.py45CODE
LOWmcp_servers/email_server.py233CODE
LOWmcp_servers/email_server.py275CODE
LOWmcp_servers/email_server.py376CODE
LOWmcp_servers/email_server.py417CODE
LOWmcp_servers/email_server.py504CODE
409 more matches not shown…
Modern AI Meta-Vocabulary71 hits · 210 pts
SeverityFileLineSnippetContext
MEDIUMrequirements.txt14# Vector store + local embeddings for RAG, semantic memory, and toolCOMMENT
MEDIUMbuild-macos-app.sh132# Wait for readiness (first run downloads an embedding model — allow ~2 min).COMMENT
MEDIUMrequirements-optional.txt4# Note: chromadb-client + fastembed moved to requirements.txt — RAG, semanticCOMMENT
MEDIUMrequirements-optional.txt28# RAG index). markitdown (MIT, Microsoft) converts .docx/.xlsx/.pptx/.xls/.epubCOMMENT
MEDIUMapp.py35# 1463]), so the ONNX embedding model fails to load. huggingface_hub reads thisCOMMENT
MEDIUMapp.py545# ========= RAG (vector document RAG) =========COMMENT
MEDIUMstart-macos.sh186# ChromaDB backs the tool index and vector RAG. chromadb ships in the venv, soCOMMENT
MEDIUMtests/test_task_shell_tools.py3Regression for #4163: the task runner built `relevant_tools` from RAG outputSTRING
MEDIUMtests/test_task_shell_tools.py40 assert "web_fetch" in tools # RAG-selected tool keptCODE
MEDIUMtests/test_task_shell_tools.py103 # Degraded-index stand-in that still returns one RAG hit, so we can proveCOMMENT
MEDIUMtests/test_task_shell_tools.py147 # rest of the shell/file defaults and the RAG hit survive.COMMENT
MEDIUMtests/test_task_shell_tools.py153 assert "web_fetch" in offered # RAG-selected tool preservedCODE
MEDIUM…/test_fenced_example_not_executed_for_native_models.py48 # Skip RAG/tool-index, MCP, and settings lookups; keep the real loop body,COMMENT
MEDIUMtests/test_kv_cache_invalidation_2927.py97 # in real life, minus any per-turn dynamic content (RAG/memory/web), whichCOMMENT
MEDIUMtests/test_agent_rounds_exhausted.py33 # Skip RAG/tool-index, MCP, and settings lookups; keep the real loop body,COMMENT
MEDIUMtests/test_context_budget.py1"""Issue #1170 — the agent input-token budget adapts to the model context window.STRING
MEDIUMtests/test_rag_remove_directory_scope.py1"""Regression guard for #1660 — removing one RAG directory must delete only thatSTRING
MEDIUMtests/test_tool_rag_keyword_hints.py1"""Regression for issue #1707 — the agent tool-RAG force-included the entireSTRING
MEDIUMstatic/js/MODULE_SUMMARY.md104## 6. Knowledge, Memory, and RAGCOMMENT
MEDIUMstatic/js/calendar.js1173// Drag on an empty cell to scaffold a new event for that range.COMMENT
MEDIUMroutes/personal_routes.py258 # Remove from RAG vector store (best-effort)COMMENT
MEDIUMroutes/personal_routes.py352 # Remove chunks from RAG vector store (best-effort)COMMENT
MEDIUMroutes/auth_routes.py452 # direct personal RAG uploads live in per-owner directories and theCOMMENT
MEDIUMroutes/embedding_routes.py302 # Reset the RAG singleton so it picks up the new endpointCOMMENT
MEDIUMroutes/embedding_routes.py346 # Reset the RAG singleton so it falls back to fastembedCOMMENT
MEDIUMroutes/document_routes.py902 # Detect email-scaffold stubs: "To: \nSubject: \n---\n" styleCOMMENT
MEDIUMroutes/session_routes.py1170 # all 100+ chats to one LLM call blows the context window, makesCOMMENT
MEDIUMroutes/chat_helpers.py752 # or personal-doc RAG on every turn pulls in keyword-matched but off-topicCOMMENT
MEDIUMroutes/chat_helpers.py758 # Use RAG?COMMENT
MEDIUMroutes/skills_routes.py1614 # candidates so the event-driven Skills Audit pipeline still runs.COMMENT
MEDIUMroutes/note/note_routes.py229 # prose=True strips untagged "The user wants me to…" chain-of-thought.COMMENT
MEDIUMservices/memory/skill_extractor.py217 # chain-of-thought BEFORE the JSON output even when asked forCOMMENT
MEDIUMsrc/teacher_escalation.py645 # tried. The appended note leads with the user request text so RAGCOMMENT
MEDIUMsrc/personal_docs.py216 self.excluded_files: Set[str] = set() # Files removed from RAG listingCODE
MEDIUMsrc/personal_docs.py297 # If RAG manager is available, index the directory immediately.COMMENT
MEDIUMsrc/tool_index.py37 # of topic. Without this, RAG drops it and the agent falls back toCOMMENT
MEDIUMsrc/tool_index.py48# check-ins and proactive tasks, in addition to RAG-selected tools.COMMENT
MEDIUMsrc/tool_index.py192 # Without this, upsert leaves them in place and RAG keepsCOMMENT
MEDIUMsrc/tool_index.py269 # Include server identity in the indexed text so RAG canCOMMENT
MEDIUMsrc/task_scheduler.py1616 # RAG-select relevant tools for this prompt + always-available assistant tools.COMMENT
MEDIUMsrc/task_scheduler.py28# setting turns them off). The RAG tool selector + ASSISTANT_ALWAYS_AVAILABLECOMMENT
MEDIUMsrc/task_scheduler.py1654 # Strip the model's chain-of-thought before saving/delivering. TaskCOMMENT
MEDIUMsrc/context_compactor.py40COMPACT_THRESHOLD = 0.85 # Trigger compaction at 85% of context windowCODE
MEDIUMsrc/context_compactor.py256 # Priority: keep first system msg (preset prompt), drop others (memory, RAG, memo).COMMENT
MEDIUMsrc/ai_interaction.py510# RAG management toolCOMMENT
MEDIUMsrc/app_initializer.py59 # Initialize memory vector store (share embedding model with RAG if available)COMMENT
MEDIUMsrc/agent_loop.py865# Legacy: full prompt with all tools (fallback when RAG unavailable)COMMENT
MEDIUMsrc/agent_loop.py2047 # With RAG tools, cache key includes the selected toolsCOMMENT
MEDIUMsrc/agent_loop.py2630 # RAG mode: trust the relevant_tools set as already-composed.COMMENT
MEDIUMsrc/agent_loop.py2642 # Fallback: full prompt (RAG unavailable)COMMENT
MEDIUMsrc/agent_loop.py2827 # web/RAG context. THREAT_MODEL.md lists tool output as a surface thatCOMMENT
MEDIUMsrc/agent_loop.py3309 # RAG-based tool selection: retrieve relevant tools for this query.COMMENT
MEDIUMsrc/agent_loop.py3322 # actually calls for them (RAG retrieval adds those on a real ask).COMMENT
MEDIUMsrc/agent_loop.py3328 # Don't short-circuit: fall through to RAG retrieval below.COMMENT
MEDIUMsrc/agent_loop.py3382 # Fallback: if RAG unavailable, use keyword-based tool selectionCOMMENT
MEDIUMsrc/agent_loop.py3437 # regardless of which selection path (RAG, keyword, caller-provided) ran.COMMENT
MEDIUMsrc/agent_loop.py3466 # settings make web tools visible even when tool RAG misses them;COMMENT
MEDIUMsrc/agent_loop.py3903 # Filter schemas by RAG-selected tools (if available)COMMENT
MEDIUMsrc/agent_loop.py4377 # The model is finishing. If this was an effectful agentic turn,COMMENT
MEDIUMsrc/agent_loop.py4693 # RAG-selected this turn (declared via requires_toolsets in itsCOMMENT
11 more matches not shown…
Modern Structural Boilerplate161 hits · 160 pts
SeverityFileLineSnippetContext
LOWapp.py115logger = logging.getLogger(__name__)CODE
LOWcore/auth.py19logger = logging.getLogger(__name__)CODE
LOWcore/database.py17logger = logging.getLogger(__name__)CODE
LOWcore/session_manager.py25logger = logging.getLogger(__name__)CODE
LOWcore/__init__.py32__all__ = [CODE
LOWscripts/index_documents.py33logger = logging.getLogger(__name__)CODE
LOWroutes/email_pollers.py45logger = logging.getLogger(__name__)CODE
LOWroutes/signature_routes.py21logger = logging.getLogger(__name__)CODE
LOWroutes/tts_routes.py11logger = logging.getLogger(__name__)CODE
LOWroutes/mcp_routes.py19logger = logging.getLogger(__name__)CODE
LOWroutes/chatgpt_subscription_routes.py20logger = logging.getLogger(__name__)CODE
LOWroutes/email_routes.py107def _set_email_writing_style_for_account(settings: dict, style: str, account_id: str | None = None) -> None:CODE
LOWroutes/email_routes.py67logger = logging.getLogger(__name__)CODE
LOWroutes/backup_routes.py12logger = logging.getLogger(__name__)CODE
LOWroutes/copilot_routes.py40logger = logging.getLogger(__name__)CODE
LOWroutes/webhook_routes.py16logger = logging.getLogger(__name__)CODE
LOWroutes/cookbook_helpers.py19logger = logging.getLogger(__name__)CODE
LOWroutes/vault_routes.py22logger = logging.getLogger(__name__)CODE
LOWroutes/personal_routes.py19logger = logging.getLogger(__name__)CODE
LOWroutes/shell_routes.py106logger = logging.getLogger(__name__)CODE
LOWroutes/email_helpers.py40logger = logging.getLogger(__name__)CODE
LOWroutes/editor_draft_routes.py30logger = logging.getLogger(__name__)CODE
LOWroutes/task_routes.py25logger = logging.getLogger(__name__)CODE
LOWroutes/auth_routes.py38logger = logging.getLogger(__name__)CODE
LOWroutes/embedding_routes.py14logger = logging.getLogger(__name__)CODE
LOWroutes/document_routes.py17logger = logging.getLogger(__name__)CODE
LOWroutes/stt_routes.py9logger = logging.getLogger(__name__)CODE
LOWroutes/cookbook_routes.py47logger = logging.getLogger(__name__)CODE
LOWroutes/cookbook_routes.py658 def set_flag(flag: str, value: str) -> None:CODE
LOWroutes/cookbook_routes.py726 def set_flag(flag: str, value: str) -> None:CODE
LOWroutes/preset_routes.py15logger = logging.getLogger(__name__)CODE
LOWroutes/upload_routes.py33logger = logging.getLogger(__name__)CODE
LOWroutes/session_routes.py125logger = logging.getLogger(__name__)CODE
LOWroutes/diagnostics_routes.py13logger = logging.getLogger(__name__)CODE
LOWroutes/emoji_routes.py23logger = logging.getLogger(__name__)CODE
LOWroutes/chat_routes.py53logger = logging.getLogger(__name__)CODE
LOWroutes/chat_routes.py556def _set_user_time_from_request(request: Request) -> None:CODE
LOWroutes/document_helpers.py18logger = logging.getLogger(__name__)CODE
LOWroutes/model_routes.py34logger = logging.getLogger(__name__)CODE
LOWroutes/chat_helpers.py26logger = logging.getLogger(__name__)CODE
LOWroutes/calendar_routes.py20logger = logging.getLogger(__name__)CODE
LOWroutes/skills_routes.py23logger = logging.getLogger(__name__)CODE
LOWroutes/research/research_routes.py72logger = logging.getLogger(__name__)CODE
LOWroutes/note/note_routes.py19logger = logging.getLogger(__name__)CODE
LOWroutes/memory/memory_routes.py35logger = logging.getLogger(__name__)CODE
LOWroutes/gallery/gallery_helpers.py16logger = logging.getLogger(__name__)CODE
LOWroutes/gallery/gallery_routes.py30logger = logging.getLogger(__name__)CODE
LOWroutes/contacts/contacts_routes.py28logger = logging.getLogger(__name__)CODE
LOWroutes/search/search_routes.py14logger = logging.getLogger(__name__)CODE
LOWroutes/cleanup/cleanup_routes.py8logger = logging.getLogger(__name__)CODE
LOWroutes/history/history_routes.py23logger = logging.getLogger(__name__)CODE
LOWroutes/compare/compare_routes.py17logger = logging.getLogger(__name__)CODE
LOWroutes/admin_wipe/admin_wipe_routes.py36logger = logging.getLogger(__name__)CODE
LOWservices/__init__.py17__all__ = [CODE
LOWservices/research/research_handler.py20logger = logging.getLogger(__name__)CODE
LOWservices/research/__init__.py7__all__ = [CODE
LOWservices/memory/memory_extractor.py20logger = logging.getLogger(__name__)CODE
LOWservices/memory/skill_extractor.py13logger = logging.getLogger(__name__)CODE
LOWservices/memory/memory_vector.py5__all__ = ["MemoryVectorStore"]CODE
LOWservices/memory/skill_format.py56logger = logging.getLogger(__name__)CODE
101 more matches not shown…
Over-Commented Block153 hits · 138 pts
SeverityFileLineSnippetContext
LOWrequirements.txt21youtube-transcript-apiCOMMENT
LOWdocker-compose.gpu-nvidia.yml1# Standalone NVIDIA GPU Compose file for stack-management UIs (Portainer,COMMENT
LOWbuild-macos-app.sh1#!/bin/bashCOMMENT
LOWrequirements-optional.txt1# Optional dependencies — install only if you use the corresponding feature.COMMENT
LOWrequirements-optional.txt21# value/annotation/signature stamping, page rendering for the form overlay).COMMENT
LOWdocker-compose.gpu-amd.yml1# Standalone AMD ROCm GPU Compose file for stack-management UIs (Portainer,COMMENT
LOWapp.py361 # answered. AuthMiddleware is the outermost middleware, so gating theCOMMENT
LOWapp.py541# ========= YOUTUBE INIT =========COMMENT
LOWstart-macos.sh1#!/bin/bashCOMMENT
LOWstart-macos.sh81 if "$p" -c 'import sys; raise SystemExit(0 if sys.version_info[:2] >= (3, 11) else 1)' 2>/dev/null; thenCOMMENT
LOWdocker/gpu.amd.yml1# AMD ROCm GPU overlay. Enable by setting COMPOSE_FILE in .env:COMMENT
LOWdocker/gpu.nvidia.yml1# NVIDIA GPU overlay. Enable by setting COMPOSE_FILE in .env:COMMENT
LOWdocker/entrypoint.sh1#!/bin/shCOMMENT
LOWdocker/entrypoint.sh101doneCOMMENT
LOWdocker/build-realesrgan-wheels.sh1#!/usr/bin/env bashCOMMENT
LOWcore/database.py1881COMMENT
LOWstatic/app.js1181 '/email': () => {COMMENT
LOWstatic/sw.js1// static/sw.js — Odysseus PWA Service WorkerCOMMENT
LOWstatic/js/chatRenderer.js401 ta.value = '';COMMENT
LOWstatic/js/chatRenderer.js1141 return String(text).replace(/#document-(\d+)\b/g, (match, num) => {COMMENT
LOWstatic/js/chatRenderer.js2461 // The self-wake mechanism injects "Did you finish?" as a user messageCOMMENT
LOWstatic/js/galleryEditor.js161COMMENT
LOWstatic/js/galleryEditor.js181// Lasso stateCOMMENT
LOWstatic/js/galleryEditor.js201// slider edits this layer's alpha edge live.COMMENT
LOWstatic/js/galleryEditor.js621}COMMENT
LOWstatic/js/galleryEditor.js681}COMMENT
LOWstatic/js/galleryEditor.js841 // sub-layers (plus any staged-in-progress edit). Falls back toCOMMENT
LOWstatic/js/galleryEditor.js1381const _refreshHistoryPanelIfOpen = _historyPanel.refreshHistoryPanelIfOpen;COMMENT
LOWstatic/js/galleryEditor.js1461// popup re-uses the existing #ge-inpaint-prompt and #ge-inpaint-runCOMMENT
LOWstatic/js/galleryEditor.js1801 * working unchanged.COMMENT
LOWstatic/js/galleryEditor.js2981 }COMMENT
LOWstatic/js/galleryEditor.js3141 container.appendChild(editorBody);COMMENT
LOWstatic/js/galleryEditor.js3161COMMENT
LOWstatic/js/galleryEditor.js3221 // Fill — visible only when a selection or active mask exists. PoursCOMMENT
LOWstatic/js/galleryEditor.js3721 }COMMENT
LOWstatic/js/modalSnap.js1// Right-edge snap docking for draggable modals.COMMENT
LOWstatic/js/cookbookServe.js1501 : `This model's download isn't complete yet (${esc(m.size || 'partial')}). The serve will start but is likely COMMENT
LOWstatic/js/cookbookServe.js1521 // Default CPU — works on every host without GPU/wheel matchingCOMMENT
LOWstatic/js/cookbookServe.js1561 // Show the GGUF File dropdown for BOTH llama.cpp and Ollama — OllamaCOMMENT
LOWstatic/js/cookbookServe.js1681 // Parser was previously in a separate row below; the user wantedCOMMENT
LOWstatic/js/cookbookServe.js1781 panelHtml += `</div><div class="hwfit-serve-row hwfit-backend-diffusers hwfit-backend-mlx_image hwfit-diff-harmoniCOMMENT
LOWstatic/js/cookbookServe.js3421 }COMMENT
LOWstatic/js/cookbookServe.js3581 // Network / probe failure — don't block. Better to let the launchCOMMENT
LOWstatic/js/cookbookServe.js3661 // Resolve the target host from the visible Server dropdown — the reliableCOMMENT
LOWstatic/js/cookbookServe.js3961}COMMENT
LOWstatic/js/ui.js941 document.addEventListener('touchstart', (e) => {COMMENT
LOWstatic/js/ui.js1201 try { el.scrollIntoView(); } catch {}COMMENT
LOWstatic/js/cookbook.js581// CUDA_VISIBLE_DEVICES; ROCm/HIP uses HIP_VISIBLE_DEVICES; Vulkan andCOMMENT
LOWstatic/js/cookbook.js1181 // category tag. llama_cpp uses the /api/cookbook/rebuild-engine flowCOMMENT
LOWstatic/js/cookbook.js3401 if (_ds) { _envState.remoteHost = _ds.host; _envState.env = _ds.env || 'none'; _envState.envPath = _ds.envPath || COMMENT
LOWstatic/js/notes.js2221 // Clicking todo item text now toggles its checkbox — let the click bubbleCOMMENT
LOWstatic/js/cookbookSchedule.js1// Cookbook Schedule — opens a small inline form (styled with the app'sCOMMENT
LOWstatic/js/cookbookSchedule.js81 // Resolve the model identity from the closest .memory-item card —COMMENT
LOWstatic/js/cookbookRunning.js221 }, 80);COMMENT
LOWstatic/js/cookbookRunning.js3221 };COMMENT
LOWstatic/js/cookbookRunning.js3341 const _dlAggMatches = [...snapshot.matchAll(/Downloading\s*\(incomplete[^)]*\):\s*(\d+)%/g)];COMMENT
LOWstatic/js/cookbookRunning.js4181 }COMMENT
LOWstatic/js/section-management.js41 if (willCollapse) {COMMENT
LOWstatic/js/slashAutocomplete.js1// static/js/slashAutocomplete.jsCOMMENT
LOWstatic/js/sessions.js1741 targetId = savedId;COMMENT
93 more matches not shown…
Cross-File Repetition13 hits · 65 pts
SeverityFileLineSnippetContext
HIGHtests/test_skills_manager_owner_isolation.py0\ --- name: {name} description: original description version: 1.0.0 category: {category} tags: [] status: draft confidenSTRING
HIGHtests/test_skills_routes_owner_update.py0\ --- name: {name} description: original description version: 1.0.0 category: {category} tags: [] status: draft confidenSTRING
HIGHtests/test_skills_delete_owner.py0\ --- name: {name} description: original description version: 1.0.0 category: {category} tags: [] status: draft confidenSTRING
HIGHtests/test_skill_save_no_rename.py0\ --- name: {name} description: original description version: 1.0.0 category: {category} tags: [] status: draft confidenSTRING
HIGHtests/test_provider_detection_host_match.py0provider detection tests — build_chat_url / build_models_url routing (re: #768). these import the *real* helpers from ``STRING
HIGHtests/test_provider_detection_detect.py0provider detection tests — build_chat_url / build_models_url routing (re: #768). these import the *real* helpers from ``STRING
HIGHtests/test_provider_detection_builders.py0provider detection tests — build_chat_url / build_models_url routing (re: #768). these import the *real* helpers from ``STRING
HIGHtests/test_email_owner_scope.py0insert or replace into email_summaries (message_id, owner, uid, folder, subject, sender, summary, model_used, created_atSTRING
HIGHroutes/email_pollers.py0insert or replace into email_summaries (message_id, owner, uid, folder, subject, sender, summary, model_used, created_atSTRING
HIGHroutes/email_routes.py0insert or replace into email_summaries (message_id, owner, uid, folder, subject, sender, summary, model_used, created_atSTRING
HIGHtests/test_email_owner_scope.py0insert or replace into email_ai_replies (message_id, owner, uid, folder, reply, model_used, created_at) values (?, ?, ?,STRING
HIGHroutes/email_pollers.py0insert or replace into email_ai_replies (message_id, owner, uid, folder, reply, model_used, created_at) values (?, ?, ?,STRING
HIGHroutes/email_routes.py0insert or replace into email_ai_replies (message_id, owner, uid, folder, reply, model_used, created_at) values (?, ?, ?,STRING
AI Slop Vocabulary19 hits · 46 pts
SeverityFileLineSnippetContext
MEDIUMbuild-macos-app.sh34 # let sips emit the .icns directly — more robust across macOS versions thanCOMMENT
LOWstart-macos.sh72# (or non-mac) we just use whatever Python 3.11+ is on PATH.COMMENT
MEDIUMcore/database.py300 # Library + search. Owning the row directly is robust against that.COMMENT
MEDIUMcore/database.py2464 """Get comprehensive database statistics including file size"""STRING
MEDIUMtests/test_markdown_rendering_js.py254 # same way; they need KaTeX/sanitizer conditions this harness doesn't set up.STRING
MEDIUMtests/test_companion_readonly.py24# import is robust regardless of collection order.COMMENT
MEDIUMtests/test_backup_import_skills_dedup.py18# via monkeypatch — robust to import order and reverted at teardown. (StubbingCOMMENT
MEDIUMtests/test_chat_metrics.py23# --- captured-stream harness (mirrors test_llm_core_streaming.py) -----------COMMENT
MEDIUMstatic/js/spinner.js206 // Rotating a single continuous spiral keeps the loop seamless: the startCOMMENT
MEDIUMstatic/js/windowResize.js10// inner element. Absolutely-positioned handle children would scroll awayCOMMENT
MEDIUMstatic/js/slashCommands.js2372 // via .closest(selector) — more robust than t.contains(e.target) whenCOMMENT
MEDIUMscripts/add_hwfit_models.py269 # Next-to-last resort: parse config.json. This is robust againstCOMMENT
MEDIUMroutes/cookbook_routes.py1058 # also breaks robust resume on flaky transfers — the blob-based hubCOMMENT
MEDIUMservices/search/service.py69 # `fetch_content` is accepted for API compatibility; the comprehensiveCOMMENT
MEDIUMservices/search/core.py262 """Perform comprehensive web search with content fetching and advanced filtering."""STRING
MEDIUMsrc/document_actions.py69 # Documents now carry their own owner column (robust to a deletedCOMMENT
MEDIUMsrc/llm_core.py957 # harness size. Character presets can ask for a warmer voice, butCOMMENT
MEDIUMsrc/deep_research.py707 """Let the LLM decide whether the report is comprehensive enough."""STRING
LOWsrc/agent_tools/session_tools.py312 # just return a clickable anchor link the user can click. TheCOMMENT
Fake / Example Data44 hits · 42 pts
SeverityFileLineSnippetContext
LOWtests/test_imap_leak_fixes.py51 result = helpers._fetch_sender_thread_context("user@example.com")CODE
LOWtests/test_imap_leak_fixes.py68 result = helpers._fetch_sender_thread_context("user@example.com")CODE
LOWtests/test_imap_leak_fixes.py255 "imap_user": "user@example.com",CODE
LOWtests/test_imap_leak_fixes.py308 "imap_user": "user@example.com", "imap_password": "wrong",CODE
LOWtests/test_imap_leak_fixes.py358 "smtp_security": security, "smtp_user": "user@example.com",CODE
LOWtests/test_email_imap_timeout.py111 "imap_user": "user@example.com",CODE
LOWtests/test_email_imap_timeout.py125 assert captured["login"] == ("user@example.com", "pw")CODE
LOWtests/test_email_oauth.py41 state = make_oauth_state("acct-123", "user@example.com")CODE
LOWtests/test_email_oauth.py46 assert payload["o"] == "user@example.com"CODE
LOWtests/test_email_oauth.py61 state = make_oauth_state("acct-123", "user@example.com")CODE
LOWtests/test_email_oauth.py76 state = make_oauth_state("acct-123", "user@example.com")CODE
LOWtests/test_model_context.py87 api_key="fake-key",CODE
LOWtests/test_model_context.py251 api_key="fake-key",CODE
LOWtests/test_model_routes.py464 ep = SimpleNamespace(endpoint_kind="auto", api_key="fake-key")CODE
LOWtests/test_model_routes.py1918 api_key="fake-key",CODE
LOWtests/test_model_routes.py1927 "api_key": "fake-key",CODE
LOWtests/test_model_routes.py1975 "api_key": "fake-key",CODE
LOWtests/test_model_routes.py1990 api_key="fake-key",CODE
LOWtests/test_model_routes.py514 result = _ping_endpoint("http://100.117.136.97:34521/v1", "fake-key", timeout=1)CODE
LOWtests/test_model_routes.py1697 api_key="fake-key",CODE
LOWtests/test_model_routes.py1730 api_key="fake-key",CODE
LOWtests/test_model_routes.py1755 api_key="fake-key",CODE
LOWtests/test_model_routes.py1780 api_key="fake-key",CODE
LOWtests/test_model_routes.py1957 api_key="fake-key",CODE
LOWtests/test_model_routes.py2021 "api_key": "fake-key",CODE
LOWtests/test_model_routes.py2071 api_key="fake-key",CODE
LOWtests/test_sender_signature_skip_roles.py20 assert _skipped("admin@example.org")CODE
LOWtests/test_shell_routes.py460 assert _ssh_base_argv("user@example.com", None) == [CODE
LOWtests/test_shell_routes.py466 "user@example.com",CODE
LOWtests/test_email_send_only_no_inbox.py26 "smtp_user": "noreply@example.org",CODE
LOWtests/test_email_send_only_no_inbox.py33 "from_address": "noreply@example.org",CODE
LOWtests/test_api_token_routes.py290 fake_token = SimpleNamespace(id="abcd1234", owner="alice", name="test")CODE
LOWtests/test_api_token_routes.py292 fake_session.query.return_value.filter.return_value.first.return_value = fake_tokenCODE
LOWtests/test_api_token_routes.py301 fake_session.delete.assert_called_once_with(fake_token)CODE
LOWtests/test_api_token_routes.py454 fake_token = SimpleNamespace(id="tok123", owner="alice", name="alice-token")CODE
LOWtests/test_api_token_routes.py456 fake_session.query.return_value.filter.return_value.first.return_value = fake_tokenCODE
LOWtests/test_api_token_routes.py494 fake_token = SimpleNamespace(id="tok123", owner="alice", name="alice-token")CODE
LOWtests/test_api_token_routes.py496 fake_session.query.return_value.filter.return_value.first.return_value = fake_tokenCODE
LOWtests/test_api_token_routes.py504 fake_session.delete.assert_called_once_with(fake_token)CODE
LOWtests/test_hwfit_container_visibility_warning.py80 out = hardware._attach_probe_context(result, host="user@example.com")CODE
LOWstatic/app.js2396 textarea.setAttribute('placeholder', 'Swipe to toggle plan');CODE
LOWstatic/app.js2399 textarea.setAttribute('placeholder', width < PLACEHOLDER_COMPACT_WIDTH ? 'Message...' : 'Message Odysseus...');CODE
LOWstatic/lib/html2pdf.bundle.min.js2!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amCODE
LOWstatic/lib/highlight.min.js317}),re=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code",CODE
Cross-Language Confusion (JS/TS)5 hits · 32 pts
SeverityFileLineSnippetContext
HIGHstatic/js/cookbookDownload.js165 elif t>=1048576: ds=f'{s.n/1048576:.1f}';ts=f'{t/1048576:.1f}MB';ss=f'{sp/1048576:.1f}MB/s'CODE
HIGHstatic/js/cookbookDownload.js168 print(f'FILE {d} [{bar}] {p}% {ds}/{ts} {ss}',flush=True)CODE
HIGHstatic/js/cookbookDownload.js188print(f'START {repo}',flush=True)CODE
HIGHstatic/js/cookbookDownload.js191 print(f'DONE {path}',flush=True)CODE
HIGHstatic/js/cookbookDownload.js193 print(f'ERROR {e}',file=sys.stderr,flush=True);sys.exit(1)CODE
Redundant / Tautological Comments20 hits · 28 pts
SeverityFileLineSnippetContext
LOWcore/database.py1498 # Check if prompt/schedule/scheduled_time are still NOT NULL — need table rebuildCOMMENT
LOWtests/test_api_key_manager_atomic_save.py65 # Close the file then raiseCOMMENT
LOWtests/test_tts_service_enforce_cache_limit.py27 # Set limit to 100 bytes. 80% target capacity will be 80 bytes.COMMENT
LOWtests/test_chat_route_tool_policy.py48 # Check if 'body' appears in the valueCOMMENT
LOWscripts/diffusion_server.py529 # Check if it's a HF repo with a single safetensors fileCOMMENT
LOWscripts/diffusion_server.py900 # Check if the main pipeline IS already an inpaint pipelineCOMMENT
LOWscripts/index_documents.py54 # Check if directory existsCOMMENT
LOWscripts/index_documents.py87 # Display resultsCOMMENT
LOWroutes/mcp_routes.py256 # Check if OAuth token already exists — skip connection attempt if notCOMMENT
LOWroutes/shell_routes.py617 # Set master to non-blockingCOMMENT
LOWroutes/shell_routes.py824 # Check if tmux session is still aliveCOMMENT
LOWroutes/document_routes.py652 # Check if we can coalesce with the latest versionCOMMENT
LOWroutes/cookbook_routes.py4313 # Check if session is alive + capture outputCOMMENT
LOWroutes/cookbook_routes.py2060 ps_lines.append('# Check if ollama is available')CODE
LOWsrc/config.py194 # Check if LLM host is reachable if specifiedCOMMENT
LOWsrc/config.py199 # Check if API keys are set when neededCOMMENT
LOWsrc/memory.py325 # Check if this is an identity memory (contains name patterns or identity indicators)COMMENT
LOWsrc/tool_execution.py96 # Check if any path component is a sensitive directory.COMMENT
LOWsrc/upload_handler.py1185 # Check if file type is safeCOMMENT
LOWsrc/integrations.py615 # Check if a miniflux integration already existsCOMMENT
Verbosity Indicators16 hits · 27 pts
SeverityFileLineSnippetContext
LOWstatic/js/group.js528 // Step 2: Character assignmentCOMMENT
LOWstatic/js/documentLibrary.js1017 // Step 1: switch session if needed and wait for it to loadCOMMENT
LOWstatic/js/documentLibrary.js1025 // Step 2: ensure doc is in tabsCOMMENT
LOWstatic/js/documentLibrary.js1035 // Step 3: open panel (slide-in is handled by openPanel)COMMENT
LOWstatic/js/editor/tools/lasso-mask.js75 // Step 1: draw hard maskCOMMENT
LOWstatic/js/editor/tools/lasso-mask.js111 // Step 2: pixel data and distance-based feather.COMMENT
LOWscripts/check-docker-gpu.sh525 # Step 1: prerequisitesCOMMENT
LOWscripts/check-docker-gpu.sh533 # Step 2: signing keyCOMMENT
LOWscripts/check-docker-gpu.sh541 # Step 3: apt repositoryCOMMENT
LOWscripts/check-docker-gpu.sh550 # Step 4: install toolkitCOMMENT
LOWscripts/check-docker-gpu.sh558 # Step 5: configure Docker runtimeCOMMENT
LOWscripts/check-docker-gpu.sh565 # Step 6: restart DockerCOMMENT
LOWscripts/check-docker-gpu.sh587 # Step 7: verificationCOMMENT
LOWscripts/check-docker-gpu.sh593 # Step 8: enable overlay (only if passthrough verified)COMMENT
LOWsrc/agent_loop.py3608 # Step 1: per-endpoint override (set at registration time from theCOMMENT
LOWsrc/deep_research.py166- Then the detailed steps: ## Step 1: ..., ## Step 2: ...CODE
Structural Annotation Overuse15 hits · 25 pts
SeverityFileLineSnippetContext
LOWstatic/js/group.js528 // Step 2: Character assignmentCOMMENT
LOWstatic/js/documentLibrary.js1017 // Step 1: switch session if needed and wait for it to loadCOMMENT
LOWstatic/js/documentLibrary.js1025 // Step 2: ensure doc is in tabsCOMMENT
LOWstatic/js/documentLibrary.js1035 // Step 3: open panel (slide-in is handled by openPanel)COMMENT
LOWstatic/js/editor/tools/lasso-mask.js75 // Step 1: draw hard maskCOMMENT
LOWstatic/js/editor/tools/lasso-mask.js111 // Step 2: pixel data and distance-based feather.COMMENT
LOWscripts/check-docker-gpu.sh525 # Step 1: prerequisitesCOMMENT
LOWscripts/check-docker-gpu.sh533 # Step 2: signing keyCOMMENT
LOWscripts/check-docker-gpu.sh541 # Step 3: apt repositoryCOMMENT
LOWscripts/check-docker-gpu.sh550 # Step 4: install toolkitCOMMENT
LOWscripts/check-docker-gpu.sh558 # Step 5: configure Docker runtimeCOMMENT
LOWscripts/check-docker-gpu.sh565 # Step 6: restart DockerCOMMENT
LOWscripts/check-docker-gpu.sh587 # Step 7: verificationCOMMENT
LOWscripts/check-docker-gpu.sh593 # Step 8: enable overlay (only if passthrough verified)COMMENT
LOWsrc/agent_loop.py3608 # Step 1: per-endpoint override (set at registration time from theCOMMENT
Hallucination Indicators2 hits · 25 pts
SeverityFileLineSnippetContext
CRITICALtests/test_session_mode_helpers.py56 sess.query.return_value.filter.return_value.update.assert_called_once_with({"mode": "agent"})CODE
CRITICALstatic/lib/html2pdf.bundle.min.js2!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amCODE
AI Structural Patterns35 hits · 24 pts
SeverityFileLineSnippetContext
LOWtests/test_model_routes.py1583CODE
LOWtests/test_model_routes.py700CODE
LOWtests/test_model_routes.py720CODE
LOWtests/test_model_defaults.py131CODE
LOWscripts/diffusion_server.py763CODE
LOWscripts/demo_email/seed_demo_emails.py109CODE
LOWmcp_servers/email_server.py1602CODE
LOWroutes/email_pollers.py382CODE
LOWroutes/mcp_routes.py159CODE
LOWroutes/email_routes.py2267CODE
LOWroutes/shell_routes.py976CODE
LOWroutes/hwfit_routes.py194CODE
LOWroutes/hwfit_routes.py319CODE
LOWroutes/hwfit_routes.py413CODE
LOWroutes/model_routes.py1983CODE
LOWroutes/chat_helpers.py669CODE
LOWroutes/chat_helpers.py1061CODE
LOWroutes/chat_helpers.py1192CODE
LOWroutes/gallery/gallery_routes.py658CODE
LOWroutes/compare/compare_routes.py71CODE
LOWservices/memory/skills.py293CODE
LOWservices/search/core.py250CODE
LOWsrc/text_helpers.py143CODE
LOWsrc/research_handler.py240CODE
LOWsrc/research_handler.py740CODE
LOWsrc/model_capabilities.py486CODE
LOWsrc/agent_loop.py2026CODE
LOWsrc/agent_loop.py3079CODE
LOWsrc/chat_processor.py263CODE
LOWsrc/visual_report.py100CODE
LOWsrc/llm_core.py1961CODE
LOWsrc/llm_core.py2143CODE
LOWsrc/llm_core.py2166CODE
LOWsrc/deep_research.py192CODE
LOWsrc/model_capability_readers/llamacpp.py247CODE
Self-Referential Comments8 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMlauncher.py17# Define a dummy NullWriter to suppress standard stream crashes (isatty etc.) in GUI modeCOMMENT
MEDIUMtests/test_tts_service_enforce_cache_limit.py80 # Create a file to evictCOMMENT
MEDIUMtests/test_rag_search_signature.py8 # Create a mock instance for VectorRAGCOMMENT
MEDIUMtests/test_skills_delete_owner.py46 # Create an owner-scoped skill (owner="alice")STRING
MEDIUMtests/test_skills_delete_owner.py71 # Create an owner-scoped skill (owner="alice")STRING
MEDIUMsrc/task_scheduler.py726 # Create the run record with status="queued" BEFORE waiting on theCOMMENT
MEDIUMsrc/task_scheduler.py2562 # Create the singleton session first (CrewMember.session_id links to it).COMMENT
MEDIUMsrc/task_scheduler.py2579 # Create the assistant CrewMember.COMMENT
Synthetic Comment Markers2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHcore/database.py356 ai_tags = Column(Text, nullable=True, default="") # AI-generated tags (comma-separated)CODE
HIGHstatic/js/notes.js3049 // Going Goal→Todo keeps the AI-generated steps as a plain checklist.COMMENT
Dead Code4 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_workspace_confine.py382CODE
MEDIUMtests/test_delete_user_revokes_api_tokens.py125CODE
MEDIUMtests/test_tool_policy.py454CODE
MEDIUMtests/test_scheduler_prompt_cache_time.py53CODE
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/test_security_regressions.py1391 def handle_request(self, req):CODE
LOWservices/search/content.py202 def handle_request(self, request: httpx.Request) -> httpx.Response:CODE