AI Slop Code RIsk Monitor

google/artemis

ARTEMIS turns natural-language instructions into reliable Android automation. It automates end-to-end workflows, captures logs, and integrates seamlessly with AI coding assistants such as Antigravity, Codex, and Claude Code. It also achieves 99%+ success rate on AndroidWorld Benchmark.

30.1 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for google/artemis, a Python project with 11,346 GitHub stars. SynthScan examined 213,921 lines of code across 747 source files, recording 5055 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 30.1 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

30.1
Adjusted Signal
30.1
Raw Pattern Score
100%
Time Factor
2026-10-01
Last Push
11.3K
Stars
Python
Language
213.9K
Lines of Code
747
Files
5.1K
Pattern Hits
2026-10-12
Scan Date
0.29
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 53.2/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 12.6/100 · LOW

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

Agent Over-Engineering Ratio 68.1/100 · HIGH

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

PR Review Velocity Impact 79.1/100 · CRITICAL

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

What These Metrics Mean

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

Pattern-Signal History

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

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

Severity Breakdown

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

CRITICAL 2HIGH 213MEDIUM 279LOW 4561

Directory Score Breakdown

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

Pattern Findings

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

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

Hyper-Verbose Identifiers2259 hits · 2258 pts
SeverityFileLineSnippetContext
LOW…round/backend_manager/app/services/bigquery_service.py54 def _ensure_dataset_and_table(self):CODE
LOW…end_manager/app/services/cloud_orchestrator_service.py74 async def create_new_cuttlefish_emulator(CODE
LOW…end_manager/app/services/cloud_orchestrator_service.py140 async def create_cuttlefish_instance(CODE
LOW…end_manager/app/services/cloud_orchestrator_service.py204 async def destroy_cuttlefish_instance(self, session_id: str) -> None:CODE
LOWartemis/clients/accessibility_client.py107def normalize_helper_elements(elements: Any) -> list[dict[str, Any]]:CODE
LOWartemis/clients/screen_client_factory.py351def hierarchy_backend_summary(client: Any) -> dict[str, Any] | None:CODE
LOWartemis/clients/screen_client_factory.py367def hierarchy_backend_sentence(CODE
LOWartemis/tools/scratchpad.py724def get_update_note_tool_pure(ctx: ArtemisContext) -> BaseTool:CODE
LOWartemis/tools/scratchpad.py788def get_append_note_tool_pure(ctx: ArtemisContext) -> BaseTool:CODE
LOWartemis/tools/diagnostic_tool.py106def get_ask_diagnostic_agent_tool(ctx: ArtemisContext) -> BaseTool:CODE
LOWartemis/tools/object_detection_tool.py80async def _run_object_detection_logic(CODE
LOWartemis/tools/object_detection_tool.py229def get_operator_object_detector_tool(ctx: ArtemisContext) -> BaseTool:CODE
LOWartemis/tools/video_tool.py247def get_video_analyzer_tool_pure(ctx: ArtemisContext) -> BaseTool:CODE
LOW⚡artemis/tools/image_processor_tool.py95def get_ask_image_processor_tool(ctx: ArtemisContext) -> BaseTool:CODE
LOW⚡artemis/tools/image_processor_tool.py100async def _run_image_processor_logic(CODE
LOW⚡artemis/tools/image_processor_tool.py107 async def run_image_processor_agent(inst: str, img_path: str) -> dict:CODE
LOW⚡artemis/tools/command_tool.py1145def get_run_short_adb_command_tool(ctx: ArtemisContext) -> BaseTool:CODE
LOWartemis/tools/command_tool.py146def _format_long_output_response(task_id: str, output: str, intro: str) -> str:CODE
LOWartemis/tools/command_tool.py311async def shutdown_adb_background_tasks(ctx: ArtemisContext | None) -> int:CODE
LOWartemis/tools/command_tool.py1231def get_analyze_task_output_tool(ctx: ArtemisContext) -> BaseTool:CODE
LOWartemis/tools/tool_wrapper.py46async def invoke_tool_with_injection(CODE
LOWartemis/tools/base.py219def _flatten_json_schema_properties(CODE
LOWartemis/tools/history/__init__.py348def history_tool_declarations(ctx: Any) -> list[ToolDeclaration]:CODE
LOWartemis/llm/router.py136def _patch_langchain_google_genai():CODE
LOWartemis/llm/router.py147 def patched_process_tool_config(self, tool_choice, tool_config, formatted_tools):CODE
LOWartemis/llm/google/provider.py76def is_google_family_provider(value: Any) -> bool:CODE
LOWartemis/llm/google/provider.py163def is_agentic_video_auto_eligible(model_name: Any) -> bool:CODE
LOWartemis/core/diagnostics/adb_server_connection.py260 def _connection_error_message(output: str) -> str:CODE
LOWartemis/core/diagnostics/emulator_manager.py78 def _subprocess_creation_kwargs() -> dict[str, Any]:CODE
LOWartemis/core/diagnostics/engine.py112 async def run_device_submission_probe(self, target_serial: str | None = None) -> ProbeResult:CODE
LOWartemis/core/diagnostics/device_smoke.py161def _resolve_requested_serial(device_serial: str | None) -> str | None:CODE
LOWartemis/core/diagnostics/probes/adb_probe.py69 def invalidate_enrichment_cache(self) -> None:CODE
LOWartemis/core/diagnostics/probes/adb_probe.py235 async def _get_confirmed_device_lock_state(CODE
LOWartemis/core/diagnostics/probes/adb_probe.py255 async def _get_dashboard_lock_state(CODE
LOWartemis/core/diagnostics/probes/adb_probe.py354 async def probe_submission_readiness(self, target_serial: str | None = None) -> ProbeResult:CODE
LOW⚡artemis/memory/chunking.py192def validate_interval_coverage(intervals: Any, start_step: int, end_step: int) -> bool:CODE
LOWartemis/memory/chunking.py135def injected_instruction_line(step: dict) -> str | None:CODE
LOWartemis/memory/chunking.py740def render_era_period_paragraph(era: EraState) -> str:CODE
LOWartemis/memory/chunking.py952 def _resolve_capsule_fallback_model(self, ctx: Any) -> str | None:CODE
LOWartemis/memory/chunking.py1175 def _redispatch_failed_capsules(self) -> None:CODE
LOWartemis/memory/transcript.py402 def _ai_message_has_visible_text(message: BaseMessage) -> bool:CODE
LOWartemis/memory/transcript.py456 def effective_image_scrub_depth(self) -> int:CODE
LOWartemis/config/llm.py60def lightweight_judge_default() -> "LLMWithFallback":CODE
LOWartemis/config/llm.py133def _expand_default_into_nodes(config_dict: dict) -> dict:CODE
LOWartemis/config/agent.py263def checker_overrides_for_level(level: str | None) -> dict[str, Any]:CODE
LOWartemis/config/agent.py281def verification_level_for_checker(checker: "CheckerConfig") -> VerificationLevel:CODE
LOWartemis/config/agent.py916 def synchronize_profiles_and_components(cls, data: Any) -> Any:CODE
LOWartemis/resources/__init__.py40def get_bundled_showcase_dist() -> Path | None:CODE
LOWartemis/graph/graph.py494def _get_active_subgoal_hashes(ctx: ArtemisContext) -> tuple[str, str | None]:CODE
LOWartemis/graph/graph.py515def check_plan_mutation_rejections(CODE
LOWartemis/graph/graph.py578def _reject_checker_note_write(key: str, tool_call_id: str | None) -> ToolMessage | None:CODE
LOWartemis/graph/checkpoints.py362def append_attempt_stream_record(CODE
LOWartemis/graph/checkpoints.py985def harvest_finished_checkpoints(ctx, state) -> list[str]:CODE
LOWartemis/graph/checkpoints.py1002async def spawn_pending_checkpoints(ctx, state, anchor_step_id: str | None) -> list[str]:CODE
LOWartemis/graph/perception.py75def _check_injected_instruction_file(base_dir: str) -> dict | None:CODE
LOWartemis/graph/perception.py95def _unprotect_current_check_lines(ctx: ArtemisContext) -> None:CODE
LOWartemis/runtime/awake_service.py87def _configure_usb_stay_awake(device_id: str) -> str | None:CODE
LOWartemis/runtime/awake_service.py153def _discover_connected_device_ids() -> list[str]:CODE
LOWartemis/runtime/awake_service.py283 def _reconcile_connected_devices(self, connected: set[str]) -> None:CODE
LOWartemis/runtime/device_pool.py234 async def _enumerate_async_uncached(CODE
2199 more matches not shown…
Empty Error Handlers191 hits · 955 pts
SeverityFileLineSnippetContext
HIGH…yground/backend_manager/app/services/docker_service.py93except NotFound:CODE
HIGH…end_manager/app/services/cloud_orchestrator_service.py177except (ValueError, IndexError):CODE
HIGHartemis/tools/command_tool.py412except (ProcessLookupError, OSError):CODE
HIGHartemis/tools/command_tool.py435except asyncio.CancelledError:CODE
HIGHartemis/tools/command_tool.py419except (ProcessLookupError, OSError):CODE
HIGHartemis/tools/command_tool.py423except TimeoutError:CODE
HIGHartemis/tools/command_tool.py1133except (ProcessLookupError, OSError):CODE
HIGHartemis/tools/tool_wrapper.py87except (ValueError, TypeError):CODE
HIGHartemis/tools/mobile/log_utils.py33except ValueError:CODE
HIGHartemis/tools/mobile/log_utils.py126except ValueError:CODE
HIGHartemis/drivers/android/adb_driver.py496except OSError:CODE
HIGHartemis/core/diagnostics/emulator_manager.py470except (OSError, subprocess.SubprocessError):CODE
HIGHartemis/core/diagnostics/device_smoke.py204except RuntimeError:CODE
HIGHartemis/core/diagnostics/probes/adb_probe.py347except (ProcessLookupError, OSError):CODE
HIGHartemis/memory/chunking.py1371except (TypeError, ValueError, ZeroDivisionError):CODE
HIGHartemis/memory/__init__.py71except (AttributeError, TypeError, ValueError):CODE
HIGHartemis/config/llm.py254except OSError:CODE
HIGHartemis/config/runtime.py55except (OSError, ValueError):CODE
HIGHartemis/platform/darwin.py98except (psutil.NoSuchProcess, psutil.AccessDenied):CODE
HIGHartemis/platform/darwin.py123except (psutil.NoSuchProcess, psutil.AccessDenied):CODE
HIGHartemis/platform/darwin.py138except (psutil.NoSuchProcess, psutil.AccessDenied):CODE
HIGHartemis/platform/windows.py110except (OSError, subprocess.SubprocessError):CODE
HIGHartemis/platform/windows.py135except (OSError, ValueError):CODE
HIGHartemis/platform/windows.py141except (OSError, ValueError):CODE
HIGHartemis/platform/windows.py123except (psutil.NoSuchProcess, psutil.AccessDenied):CODE
HIGHartemis/platform/linux.py113except (psutil.NoSuchProcess, psutil.AccessDenied):CODE
HIGHartemis/platform/linux.py138except (psutil.NoSuchProcess, psutil.AccessDenied):CODE
HIGHartemis/platform/linux.py153except (psutil.NoSuchProcess, psutil.AccessDenied):CODE
HIGHartemis/graph/checkpoints.py230except (AttributeError, TypeError, ValueError):CODE
HIGHartemis/graph/checkpoints.py508except (AttributeError, TypeError, ValueError):CODE
HIGHartemis/graph/checkpoints.py525except (AttributeError, TypeError, ValueError):CODE
HIGHartemis/runtime/device_pool.py155except (ProcessLookupError, OSError):CODE
HIGHartemis/runtime/device_pool.py265except (ProcessLookupError, OSError):CODE
HIGHartemis/runtime/server_lifecycle.py225except (OSError, ValueError, subprocess.SubprocessError):CODE
HIGHartemis/runtime/server_lifecycle.py242except (OSError, ValueError, subprocess.SubprocessError):CODE
HIGHartemis/runtime/server_lifecycle.py261except (OSError, ValueError, subprocess.SubprocessError):CODE
HIGHartemis/runtime/helper_manager.py326except OSError:CODE
HIGHartemis/runtime/device_lock.py532except OSError:CODE
HIGHartemis/runtime/device_lock.py744except OSError:CODE
HIGHartemis/runtime/device_lock.py426except OSError:CODE
HIGHartemis/runtime/daemon_client.py164except OSError:CODE
HIGHartemis/runtime/awake_lease.py146except OSError:CODE
HIGHartemis/runtime/awake_lease.py221except OSError:CODE
HIGHartemis/runtime/awake_lease.py127except OSError:CODE
HIGHartemis/runtime/trace_store.py103except OSError:CODE
HIGHartemis/runtime/process_probe.py77except (psutil.AccessDenied, PermissionError):CODE
HIGHartemis/runtime/process_probe.py88except (psutil.AccessDenied, PermissionError):CODE
HIGHartemis/agents/validator/tool_declarations.py216except (json.JSONDecodeError, TypeError):CODE
HIGHartemis/agents/validator/tool_declarations.py204except (ValueError, TypeError):CODE
HIGHartemis/agents/validator/tool_declarations.py223except (ValueError, TypeError):CODE
HIGHartemis/agents/checker/checker.py349except ValueError:CODE
HIGHartemis/agents/video_analyzer/blackboard.py310except (TypeError, json.JSONDecodeError):CODE
HIGHartemis/agents/video_analyzer/video_analyzer.py512except (ValueError, TypeError):CODE
HIGHartemis/agents/flash/runner.py273except (AttributeError, TypeError, ValueError):CODE
HIGHartemis/agents/flash/runner.py179except (AttributeError, TypeError, ValueError):CODE
HIGHartemis/agents/flash/runner.py990except (AttributeError, TypeError, ValueError):CODE
HIGHartemis/agents/operator/operator.py344except (AttributeError, TypeError, ValueError):CODE
HIGHartemis/agents/operator/operator.py898except (AttributeError, TypeError):CODE
HIGHartemis/agents/operator/operator.py1111except (AttributeError, TypeError):CODE
HIGHartemis/utils/credentials_validator.py48except ValueError:CODE
131 more matches not shown…
Excessive Try-Catch Wrapping798 hits · 796 pts
SeverityFileLineSnippetContext
LOW…ayground/backend_manager/app/routers/session_router.py37 except Exception as e:CODE
LOW…round/backend_manager/app/services/bigquery_service.py46 except Exception as e:CODE
LOW…round/backend_manager/app/services/bigquery_service.py120 except Exception as e:CODE
LOW…yground/backend_manager/app/services/docker_service.py43 except Exception as e:CODE
LOW…yground/backend_manager/app/services/docker_service.py60 except Exception as e:CODE
LOW…yground/backend_manager/app/services/docker_service.py143 except Exception as e:CODE
LOW…yground/backend_manager/app/services/docker_service.py174 except Exception as e:CODE
MEDIUM…yground/backend_manager/app/services/docker_service.py166def _remove_container():CODE
LOW…end_manager/app/services/cloud_orchestrator_service.py70 except Exception as e:CODE
LOW…end_manager/app/services/cloud_orchestrator_service.py125 except Exception as e:CODE
LOW…ground/backend_manager/app/services/session_manager.py75 except Exception as e:CODE
LOW…ground/backend_manager/app/services/session_manager.py126 except Exception as e:CODE
LOWartemis/context.py207 except Exception as exc:CODE
LOWartemis/context.py221 except Exception as exc:CODE
LOWartemis/context.py234 except Exception as exc:CODE
LOWartemis/context.py274 except Exception as exc:CODE
LOWartemis/context.py283 except Exception as exc:CODE
LOWartemis/clients/screen_client_factory.py203 except Exception as exc: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py154 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py233 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py317 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py398 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py462 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py538 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py583 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py647 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py715 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/scratchpad.py779 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/committee_tool.py145 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/committee_tool.py186 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/committee_tool.py199 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/committee_tool.py210 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/committee_tool.py226 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/committee_tool.py318 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/explorer_tool.py298 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/explorer_tool.py455 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/diagnostic_tool.py62 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/object_detection_tool.py71 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/object_detection_tool.py113 except Exception as e:CODE
LOWartemis/tools/video_tool.py165 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/video_tool.py226 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOW⚡artemis/tools/command_tool.py1130 except Exception: # pylint: disable=broad-exception-caughtCODE
LOW⚡artemis/tools/command_tool.py1136 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py124 except Exception: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py282 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py425 except Exception as exc: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py459 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py497 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py720 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py750 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py982 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py1002 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py1100 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/command_tool.py1116 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/tool_wrapper.py127 except Exception as e:CODE
LOWartemis/tools/base.py102 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/mobile/read_hierarchy.py88 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/mobile/log_utils.py102 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/mobile/search_logs.py247 except Exception as e: # pylint: disable=broad-exception-caughtCODE
LOWartemis/tools/mobile/ocr.py65 except Exception as e: # pylint: disable=broad-exception-caughtCODE
738 more matches not shown…
Decorative Section Separators215 hits · 768 pts
SeverityFileLineSnippetContext
MEDIUM⚡playground/deploy_to_cos.sh50# ----------------------------------------------------------------------COMMENT
MEDIUM⚡playground/deploy_to_cos.sh52# ----------------------------------------------------------------------COMMENT
MEDIUM⚡playground/deploy_to_cos.sh67# ----------------------------------------------------------------------COMMENT
MEDIUM⚡playground/deploy_to_cos.sh69# ----------------------------------------------------------------------COMMENT
MEDIUM⚡playground/deploy_to_cos.sh85# ----------------------------------------------------------------------COMMENT
MEDIUM⚡playground/deploy_to_cos.sh87# ----------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py188# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py190# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py365# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py367# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py547# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py549# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py871# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py873# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py1018# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py1020# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py1167# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/tools/command_tool.py1169# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/llm/reliability.py112# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/llm/reliability.py114# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/llm/reliability.py135# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/llm/reliability.py137# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/llm/reliability.py185# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/llm/reliability.py187# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py187# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py189# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py1059 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py1061 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py1487 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py1489 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py1733 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py1735 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py1779 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/chunking.py1781 # ------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py94# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py96# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py590# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py592# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py665# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py667# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py859# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py861# ---------------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py995 # ------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py997 # ------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py1815 # ------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/chunking.py1817 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py369 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py371 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py380 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py382 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py560 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py562 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py574 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py576 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py590 # ------------------------------------------------------------------COMMENT
MEDIUM⚡artemis/memory/transcript.py592 # ------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/transcript.py715 # ------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/transcript.py717 # ------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/transcript.py768 # ------------------------------------------------------------------COMMENT
MEDIUMartemis/memory/transcript.py770 # ------------------------------------------------------------------COMMENT
155 more matches not shown…
Over-Commented Block576 hits · 553 pts
SeverityFileLineSnippetContext
LOWpyproject.toml1# Copyright 2026 Google LLCCOMMENT
LOWsetup.py1# Copyright 2026 Google LLCCOMMENT
LOWstart.sh1#!/usr/bin/env bashCOMMENT
LOWplayground/deploy_to_cos.sh1#!/usr/bin/env bashCOMMENT
LOWplayground/artemis_container/docker-entrypoint.sh1#!/bin/bashCOMMENT
LOWplayground/artemis_container/docker-compose.yml1# Copyright 2026 Google LLCCOMMENT
LOWplayground/nginx_container/docker-entrypoint.sh1#!/bin/bashCOMMENT
LOWplayground/nginx_container/docker-compose.yml1# Copyright 2026 Google LLCCOMMENT
LOWplayground/nginx_container/certs/generate_dev_certs.sh1#!/bin/bashCOMMENT
LOWplayground/backend_manager/docker-compose.yml1# Copyright 2026 Google LLCCOMMENT
LOWplayground/backend_manager/app/config.py1# Copyright 2026 Google LLCCOMMENT
LOWplayground/backend_manager/app/main.py1# Copyright 2026 Google LLCCOMMENT
LOWplayground/backend_manager/app/routers/auth_router.py1# Copyright 2026 Google LLCCOMMENT
LOWplayground/backend_manager/app/routers/health_router.py1# Copyright 2026 Google LLCCOMMENT
LOW…ayground/backend_manager/app/routers/session_router.py1# Copyright 2026 Google LLCCOMMENT
LOWplayground/backend_manager/app/auth/otp_service.py1# Copyright 2026 Google LLCCOMMENT
LOWplayground/backend_manager/app/auth/jwt_handler.py1# Copyright 2026 Google LLCCOMMENT
LOWplayground/backend_manager/app/schemas/auth_schema.py1# Copyright 2026 Google LLCCOMMENT
LOW…ayground/backend_manager/app/schemas/session_schema.py1# Copyright 2026 Google LLCCOMMENT
LOW…round/backend_manager/app/services/bigquery_service.py1# Copyright 2026 Google LLCCOMMENT
LOW…yground/backend_manager/app/services/docker_service.py1# Copyright 2026 Google LLCCOMMENT
LOW…end_manager/app/services/cloud_orchestrator_service.py1# Copyright 2026 Google LLCCOMMENT
LOW…ground/backend_manager/app/services/session_manager.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/_version.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/constants.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/__init__.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/context.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/_legacy_imports.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/main.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/__main__.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/clients/accessibility_client.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/clients/screen_client_factory.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/scratchpad.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/committee_tool.py1# pylint: disable=too-many-statementsCOMMENT
LOWartemis/tools/index.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/explorer_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/diagnostic_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/object_detection_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/wait_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/video_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/diagnoser_submit_answer_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/image_processor_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/command_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/tool_wrapper.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/base.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/log_tool.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/system/adb_shell.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/mobile/read_hierarchy.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/mobile/log_utils.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/mobile/search_logs.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/mobile/ocr.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/mobile/launch_app.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/mobile/read_logs.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/history/__init__.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/history/replay.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/history/search.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/tools/history/screenshot.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/llm/reliability.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/llm/__init__.py1# Copyright 2026 Google LLCCOMMENT
LOWartemis/llm/parser.py1# Copyright 2026 Google LLCCOMMENT
516 more matches not shown…
Unused Imports532 hits · 447 pts
SeverityFileLineSnippetContext
LOWplayground/backend_manager/app/auth/jwt_handler.py16CODE
LOW…round/backend_manager/app/services/bigquery_service.py15CODE
LOW…round/backend_manager/app/services/bigquery_service.py15CODE
LOW…yground/backend_manager/app/services/docker_service.py24CODE
LOWartemis/__init__.py17CODE
LOWartemis/__init__.py23CODE
LOWartemis/__init__.py23CODE
LOWartemis/__init__.py24CODE
LOWartemis/__init__.py24CODE
LOWartemis/__init__.py24CODE
LOWartemis/__init__.py25CODE
LOWartemis/__init__.py25CODE
LOWartemis/__init__.py25CODE
LOWartemis/__init__.py25CODE
LOWartemis/__init__.py26CODE
LOWartemis/__init__.py27CODE
LOWartemis/__init__.py28CODE
LOWartemis/context.py17CODE
LOWartemis/context.py21CODE
LOWartemis/context.py39CODE
LOWartemis/context.py39CODE
LOWartemis/clients/accessibility_client.py36CODE
LOWartemis/clients/accessibility_client.py49CODE
LOWartemis/clients/accessibility_client.py49CODE
LOWartemis/clients/screen_client_factory.py33CODE
LOWartemis/clients/screen_client_factory.py44CODE
LOWartemis/tools/index.py17CODE
LOWartemis/tools/tool_wrapper.py32CODE
LOWartemis/tools/tool_wrapper.py32CODE
LOWartemis/tools/system/adb_shell.py15CODE
LOWartemis/tools/system/adb_shell.py15CODE
LOWartemis/tools/system/adb_shell.py15CODE
LOWartemis/tools/history/__init__.py22CODE
LOWartemis/tools/history/__init__.py40CODE
LOWartemis/tools/history/replay.py27CODE
LOWartemis/tools/history/search.py43CODE
LOWartemis/tools/history/screenshot.py24CODE
LOWartemis/llm/reliability.py28CODE
LOWartemis/llm/__init__.py17CODE
LOWartemis/llm/__init__.py17CODE
LOWartemis/llm/structured.py24CODE
LOWartemis/llm/google/provider.py31CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py28CODE
LOWartemis/llm/google/__init__.py41CODE
LOWartemis/llm/google/__init__.py41CODE
LOWartemis/llm/google/usage.py33CODE
LOWartemis/drivers/__init__.py17CODE
LOWartemis/drivers/__init__.py17CODE
LOWartemis/drivers/__init__.py17CODE
LOWartemis/drivers/__init__.py17CODE
472 more matches not shown…
Deep Nesting257 hits · 222 pts
SeverityFileLineSnippetContext
LOW…ground/backend_manager/app/services/session_manager.py47CODE
LOWartemis/tools/committee_tool.py121CODE
LOWartemis/tools/tool_wrapper.py46CODE
LOWartemis/tools/tool_wrapper.py182CODE
LOWartemis/tools/base.py65CODE
LOWartemis/tools/mobile/log_utils.py84CODE
LOWartemis/tools/mobile/ocr.py47CODE
LOWartemis/tools/history/search.py307CODE
LOWartemis/tools/history/search.py376CODE
LOWartemis/llm/structured.py52CODE
LOWartemis/llm/structured.py72CODE
LOWartemis/llm/structured.py117CODE
LOWartemis/llm/router.py136CODE
LOWartemis/llm/router.py211CODE
LOWartemis/drivers/android/adb_driver.py121CODE
LOWartemis/drivers/android/adb_driver.py274CODE
LOWartemis/drivers/android/adb_driver.py307CODE
LOWartemis/drivers/android/adb_driver.py402CODE
LOWartemis/drivers/android/adb_driver.py462CODE
LOWartemis/drivers/android/input_ime.py54CODE
LOWartemis/core/diagnostics/emulator_manager.py142CODE
LOWartemis/core/diagnostics/emulator_manager.py251CODE
LOWartemis/core/diagnostics/probes/adb_probe.py354CODE
LOWartemis/core/diagnostics/probes/adb_probe.py477CODE
LOWartemis/memory/chunking.py654CODE
LOWartemis/memory/transcript.py116CODE
LOWartemis/memory/transcript.py208CODE
LOWartemis/memory/transcript.py402CODE
LOWartemis/memory/transcript.py463CODE
LOWartemis/config/llm.py133CODE
LOWartemis/config/llm.py117CODE
LOWartemis/config/runtime.py39CODE
LOWartemis/config/runtime.py158CODE
LOWartemis/config/agent.py916CODE
LOWartemis/config/settings.py186CODE
LOWartemis/config/settings.py216CODE
LOWartemis/config/core/interpolator.py27CODE
LOWartemis/platform/darwin.py89CODE
LOWartemis/platform/linux.py104CODE
LOWartemis/graph/graph.py248CODE
LOWartemis/graph/graph.py948CODE
LOWartemis/graph/checkpoints.py433CODE
LOWartemis/graph/checkpoints.py1002CODE
LOWartemis/graph/checkpoints.py1139CODE
LOWartemis/runtime/device_pool.py161CODE
LOWartemis/runtime/server_lifecycle.py100CODE
LOWartemis/runtime/server_lifecycle.py191CODE
LOWartemis/runtime/server_lifecycle.py323CODE
LOWartemis/runtime/helper_manager.py666CODE
LOWartemis/runtime/helper_manager.py846CODE
LOWartemis/runtime/device_lock.py513CODE
LOWartemis/runtime/device_lock.py602CODE
LOWartemis/runtime/device_lock.py966CODE
LOWartemis/runtime/daemon_client.py382CODE
LOWartemis/runtime/awake_lease.py116CODE
LOWartemis/runtime/awake_lease.py227CODE
LOWartemis/runtime/trace_store.py146CODE
LOWartemis/runtime/process_probe.py40CODE
LOWartemis/agents/outputter/outputter.py132CODE
LOWartemis/agents/validator/execution_loop.py362CODE
197 more matches not shown…
Cross-Language Confusion17 hits · 90 pts
SeverityFileLineSnippetContext
HIGH…end_manager/app/services/cloud_orchestrator_service.py173 # If adb_port key is absent or null, dynamically parse adb_serial (e.g. '127.0.0.1:6520')COMMENT
HIGHartemis/core/diagnostics/engine.py264 payload="adb kill-server && adb start-server",CODE
HIGHartemis/core/diagnostics/engine.py298 """Execute adb kill-server && adb start-server to recover connectivity, auto-healing corrupted keys if needed.""STRING
HIGHartemis/interfaces/cli/commands/ui.py227 " [dim]Build it by hand with: cd apps/showcase_ui && npm install && "CODE
HIGHtests/unit/test_drivers.py97 expected_multi = "input tap 540 1200 && sleep 0.100 && input tap 540 1200 && sleep 0.100 && input tap 540 1200"CODE
HIGHtests/unit/test_ui_command.py159 assert "npm install && npm run build" in outputCODE
HIGHtests/unit/test_cli.py839 ("command", "Install", "winget install Google.PlatformTools && adb start-server"),CODE
HIGHtests/unit/tools/test_command_tool.py194 "CommandLine": "sleep 2 && echo 'background task finished'",CODE
HIGHtests/unit/mcp/test_diagnose_tool.py573 payload=r"C:\sdk\platform-tools\adb.exe kill-server && C:\sdk\platform-tools\adb.exe start-server",CODE
HIGHthird_party/mobile_use/utils/app_launch_utils.py41 Only fails if we get a different (non-null) package or timeout.STRING
HIGHthird_party/mobile_use/utils/app_launch_utils.py69 logger.debug(f"Poll {i + 1}/{polls}: App loading (mCurrentFocus=null)...")CODE
HIGH…ird_party/mobile_use/controllers/unified_controller.py150 "input keycombination 113 29 && input keyevent 67 && "CODE
HIGH⚡apps/admin_console/server.py384 <p><code>cd apps/showcase_ui && npm install && npm run build</code></p>CODE
HIGHmcp_server/tools/inspect_trace.py78 when the action failed/was intercepted, else null), andSTRING
HIGH⚡mcp_server/notifiers/desktop.py91 f"[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowCODE
HIGH⚡mcp_server/notifiers/desktop.py94 f'$textNodes.Item(0).AppendChild($template.CreateTextNode("{header}")) > $null; 'CODE
HIGH⚡mcp_server/notifiers/desktop.py95 f'$textNodes.Item(1).AppendChild($template.CreateTextNode("{clean_body}")) > $null; 'CODE
Modern Structural Boilerplate87 hits · 89 pts
SeverityFileLineSnippetContext
LOWartemis/_version.py30__all__ = ["__version__", "get_version"]CODE
LOWartemis/__init__.py30__all__ = [CODE
LOWartemis/clients/accessibility_client.py72__all__ = [CODE
LOWartemis/clients/screen_client_factory.py194 def _set_active(self, backend: str, reason: str | None = None) -> None:CODE
LOWartemis/clients/screen_client_factory.py389__all__ = [CODE
LOWartemis/tools/explorer_tool.py68__all__ = [CODE
LOWartemis/tools/tool_wrapper.py34__all__ = [CODE
LOWartemis/tools/system/adb_shell.py25__all__ = [CODE
LOWartemis/tools/history/__init__.py47__all__ = [CODE
LOWartemis/llm/__init__.py22__all__ = [CODE
LOWartemis/llm/google/__init__.py43__all__ = [CODE
LOWartemis/drivers/__init__.py34__all__ = [CODE
LOWartemis/drivers/types.py27__all__ = [CODE
LOWartemis/core/diagnostics/__init__.py59__all__ = [CODE
LOWartemis/core/diagnostics/engine.py92 def set_probe_target_serial(self, serial: str | None) -> None:CODE
LOWartemis/core/diagnostics/device_smoke.py364__all__ = ["UIAUTOMATOR_PACKAGES", "fix_for_error", "smoke_test_device"]CODE
LOWartemis/core/diagnostics/hierarchy_parity.py216__all__ = ["analyze_xml", "compare_backends", "compare_dumps", "match_labels"]CODE
LOWartemis/core/diagnostics/probes/adb_probe.py65 def set_target_serial(self, serial: str | None) -> None:CODE
LOW⚡artemis/memory/transcript.py568 def set_static_prefix(self, messages: list[BaseMessage]) -> None:CODE
LOW⚡artemis/memory/transcript.py582 def set_restored_history(self, text: str) -> None:CODE
LOWartemis/memory/__init__.py76__all__ = [CODE
LOWartemis/config/__init__.py165__all__ = [CODE
LOWartemis/config/llm.py42__all__ = [CODE
LOWartemis/config/settings.py216 def set_api_key(self, provider: str, key: str, persist_to_env: bool = False) -> None:CODE
LOWartemis/config/core/__init__.py20__all__ = [CODE
LOWartemis/resources/__init__.py46__all__ = ["get_bundled_config_path", "get_bundled_showcase_dist"]CODE
LOWartemis/platform/__init__.py54__all__ = [CODE
LOWartemis/runtime/helper_manager.py1013__all__ = [CODE
LOWartemis/runtime/__init__.py67__all__ = [CODE
LOWartemis/runtime/trace_store.py40logger = logging.getLogger(__name__)CODE
LOWartemis/runtime/process_probe.py37logger = logging.getLogger(__name__)CODE
LOWartemis/agents/prompt_assembly.py33__all__ = ["gate_segment", "render_tool_enum", "resolve_available"]CODE
LOWartemis/agents/validator/validator.py62__all__ = ["ValidatorNode", "ValidationErrorCategory"]CODE
LOWartemis/agents/video_analyzer/conflict_resolution.py17logger = logging.getLogger(__name__)CODE
LOWartemis/agents/explorer/explorer.py58__all__ = ["Explorer"]CODE
LOWartemis/utils/python_executor.py27logger = logging.getLogger(__name__)CODE
LOWartemis/utils/image_diff.py25logger = logging.getLogger(__name__)CODE
LOWartemis/utils/task_tree.py24logger = logging.getLogger(__name__)CODE
LOWartemis/mcp/observation.py37__all__ = ["observe"]CODE
LOWartemis/mcp/action_specs.py72__all__ = [CODE
LOWartemis/mcp/xml_search_server.py29logger = logging.getLogger(__name__)CODE
LOWartemis/mcp/action_manifest.py44__all__ = [CODE
LOWartemis/mcp/action_types.py28__all__ = ["ActionCode", "ActionResult", "ObserveResult"]CODE
LOWartemis/mcp/__init__.py20__all__ = ["adb_mcp", "xml_mcp"]CODE
LOWartemis/mcp/action_names.py31__all__ = ["OPERATOR_ACTION_TO_CANONICAL", "to_canonical_call"]CODE
LOWartemis/mcp/action_executor.py69__all__ = ["McpActionExecutor"]CODE
LOWartemis/mcp/action_server.py52__all__ = ["build_action_server"]CODE
LOWartemis/mcp/adb_server.py33logger = logging.getLogger(__name__)CODE
LOWartemis/mcp/action_session.py61__all__ = ["ActionSession", "get_action_session"]CODE
LOWartemis/mcp/actuators/__init__.py21__all__ = ["Actuator", "AdbActuator", "MockActuator"]CODE
LOWartemis/mcp/actuators/base.py36__all__ = ["Actuator"]CODE
LOWartemis/mcp/actuators/adb.py42__all__ = ["AdbActuator", "find_element_at_coords", "ensure_focus_at_coords"]CODE
LOWartemis/mcp/actuators/mock.py29__all__ = ["MockActuator"]CODE
LOW⚡artemis/data_engine/engine.py789 def update_session_device_info(self, **fields: Any) -> None:CODE
LOWartemis/data_engine/history_reader.py34__all__ = ["HistoryReader", "OfflineHistoryReader", "friendly_step"]CODE
LOWartemis/sdk/__init__.py24__all__ = ["Agent"]CODE
LOWartemis/sdk/utils.py23__all__ = [CODE
LOWartemis/sdk/agent.py59__all__ = ["Agent", "TOutput", "attach_test_summary", "resolve_trace_suffix", "run_tuning_summary"]CODE
LOWartemis/sdk/types/__init__.py42__all__ = [CODE
LOWartemis/sdk/types/agent.py34__all__ = ["AgentConfig", "AgentProfile", "ApiBaseUrl", "DevicePlatform", "ServerConfig"]CODE
27 more matches not shown…
Redundant / Tautological Comments31 hits · 46 pts
SeverityFileLineSnippetContext
LOWstart.sh278 # Check if nvm already has a compatible Node version installedCOMMENT
LOWplayground/artemis_container/docker-entrypoint.sh51 # Check if connectedCOMMENT
LOWplayground/nginx_container/docker-entrypoint.sh24# Check if SSL certificates exist; if not, auto-generate a self-signed fallback certCOMMENT
LOW…yground/backend_manager/app/services/docker_service.py89 # Check if an existing container with same name exists and remove itCOMMENT
LOW…end_manager/app/services/cloud_orchestrator_service.py151 # Check if this session already has an allocated instanceCOMMENT
LOW…ground/backend_manager/app/services/session_manager.py56 # Check if session has exceeded expiration or missed heartbeatsCOMMENT
LOWartemis/drivers/android/adb_driver.py132 # Check if ui_adb_client has direct screen data supportCOMMENT
LOWartemis/core/diagnostics/emulator_manager.py293 # Check if process diedCOMMENT
LOWartemis/core/diagnostics/emulator_manager.py359 # Check if process diedCOMMENT
LOWartemis/runtime/device_pool.py454 # Check if preferred is available or existsCOMMENT
LOWartemis/runtime/daemon_client.py406 # Check if task is queued in daemon statusCOMMENT
LOWartemis/agents/validator/precondition_xml.py495 # Check if the occupant has contentCOMMENT
LOWartemis/agents/validator/precondition_xml.py498 # Check if this occupant or any container covering this point is interactiveCOMMENT
LOWartemis/agents/log_analyzer/log_analyzer.py99 # Check if we have the raw logs cachedCOMMENT
LOWartemis/agents/explorer/run_setup.py162 # Check if it exists in DBCOMMENT
LOWartemis/utils/ui_filter.py163 # Check if it's a valid image containerCOMMENT
LOWartemis/utils/ui_filter.py204 # Check if it's a decoration (not clickable, not focusable)COMMENT
LOWartemis/utils/task_tree.py923 # Check if task_plan has actual subgoals (single-source checkbox grammar).COMMENT
LOWartemis/utils/ocr_xml_fusion.py38 # Check if it's a Chinese characterCOMMENT
LOWartemis/utils/ocr_xml_fusion.py40 # Check if it's a digitCOMMENT
LOWtests/e2e/play_youtube.py146 # Check if we are already on a webpage or home page (e.g., search bar is visible, or youtube content)COMMENT
LOWtests/e2e/play_youtube.py255 # Check if it's paused or if we need to click playCOMMENT
LOWthird_party/mobile_use/utils/video.py287 "15", # Set framerate to 15 fpsCODE
LOWscripts/install_deps.sh396 # Check if nvm already has a compatible Node version installedCOMMENT
LOWscripts/run_ui.py140 # Check if restart requestedCOMMENT
LOWscripts/run_ui.py150 # Check if server is already runningCOMMENT
LOWapps/admin_console/replay_manager.py947 # Set timestamp to be immediately before the final responseCOMMENT
LOWapps/admin_console/replay_manager.py1273 # Check if directory does not exist, does not contain the sentinel file, or count of chunked steps is out of synCOMMENT
LOWapps/admin_console/replay_manager.py2234 # Check if this step has already been replayed by scanning outputs folderCOMMENT
LOWapps/admin_console/services/media_service.py432 # Check if the string is a Base64 imageCOMMENT
LOWmcp_server/tools/task_runner.py361 # Check if the task was already enqueued despite a slow or NoneCOMMENT
Self-Referential Comments12 hits · 45 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/unit/tools/test_committee_tool.py30 # Create a temp directory for testingCOMMENT
MEDIUM⚡tests/unit/tools/test_committee_tool.py37 # Create a mock screenshot fileCOMMENT
MEDIUM⚡tests/unit/tools/test_committee_tool.py41 # Create a mock failed plans history fileCOMMENT
MEDIUMtests/unit/agents/test_flash_step_summarizer.py890 # Create a blank RGB image in memoryCOMMENT
MEDIUMtests/unit/utils/test_ocr_xml_fusion.py79 # Create a dummy imageCOMMENT
MEDIUM…ts/unit/data_engine/test_latency_optimizations_deep.py95 # Create the initial stepCOMMENT
MEDIUM…ts/unit/data_engine/test_latency_optimizations_deep.py201 # Create an injected_instruction.json fileCOMMENT
MEDIUM⚡…xplorer_all_tools/test_explorer_ask_image_processor.py151 # Create the mock output image pathCOMMENT
MEDIUM⚡…xplorer_all_tools/test_explorer_ask_image_processor.py153 # Create a small dummy image of size 100x100 using PIL so that cv2.imread inside explorer reads these dimensionsCOMMENT
MEDIUM…xplorer_all_tools/test_explorer_ask_image_processor.py294 # Create a dummy imageCOMMENT
MEDIUM…explorer_all_tools/test_object_detector_concurrency.py27 # Create a dummy image file for the testCOMMENT
MEDIUM⚡mcp_server/base.py32# Define the shared FastMCP instance for external IDE and agent clients.COMMENT
Modern AI Meta-Vocabulary9 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMartemis/llm/google/provider.py54# Agentic video understanding (Interactions API, ``processing: "agentic"``)COMMENT
MEDIUM⚡artemis/agents/planner/planner.json4 "thinking_process": "## Systematic Thinking Process & Operating Principles\nBefore calling any tools or formulating CODE
MEDIUMartemis/agents/video_analyzer/chunk_conversation.py41#: (shared by the static and agentic paths).COMMENT
MEDIUMartemis/agents/video_analyzer/video_analyzer.py171 # video-processing mode (agentic sub-agents take long clips).COMMENT
MEDIUMartemis/services/token_meter.py51# Size of the model context window the live Operator/FlashRunner prompt isCOMMENT
MEDIUM⚡tests/unit/test_google_provider.py140 # Explicit "agentic" is honoured on Flash-Lite but never on a variant.COMMENT
MEDIUMtests/unit/agents/test_video_agentic.py978 # One agentic attempt on the 150s clip, then 60s static pieces.COMMENT
MEDIUMtests/unit/agents/test_video_reliability.py297# ------------------------------------------------ mid-run agentic degradeCOMMENT
MEDIUMtests/unit/agents/test_video_reliability.py397 # Only the first chunk ever reached the agentic API; the second never ranCOMMENT
AI Slop Vocabulary8 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMartemis/drivers/android/adb_driver.py310 # Safe & robust clearing: Move to End -> Shift+Home selection -> Delete -> Fallback backspacesCOMMENT
MEDIUMartemis/drivers/android/input_ime.py58 # Safe & robust clearing: Move to End -> Shift+Home selection -> Delete -> Fallback backspacesCOMMENT
MEDIUMartemis/graph/checkpoints.py472# :func:`sync_finding_lines`; harness code never reads them back.COMMENT
MEDIUM⚡artemis/agents/planner/planner.json3 "role": "## Role\nYou are a Senior Test Engineer leading a team of mobile execution agents. Your objective is to deeCODE
MEDIUM⚡artemis/agents/planner/planner.json6 "output_protocol_initial": "## Task Plan & Scratchpad Protocol\n\n1. **Articulate Thinking**: Begin by reasoning thrCODE
MEDIUMartemis/utils/plan_grammar.py67#: projection of the checkpoint repair state: harness code re-renders them onCOMMENT
MEDIUMartemis/services/llm.py525 """Universal LangChain Runnable wrapper ensuring robust execution and telemetry."""STRING
MEDIUMapps/admin_console/routers/system.py103 """Execute all diagnostic probes and return a comprehensive system readiness report."""STRING
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALtests/unit/agents/test_video_analyzer.py616 analyzer.client.aio.files.delete.assert_awaited_once_with(name="files/abc")CODE
CRITICALtests/unit/agents/test_video_audio_native.py150 analyzer.client.aio.files.delete.assert_awaited_once_with(name="files/abc")CODE
AI Structural Patterns21 hits · 18 pts
SeverityFileLineSnippetContext
LOWartemis/tools/image_processor_tool.py117CODE
LOWartemis/tools/command_tool.py636CODE
LOWartemis/tools/log_tool.py90CODE
LOWartemis/tools/mobile/search_logs.py218CODE
LOWartemis/memory/transcript.py262CODE
LOWartemis/runtime/device_lock.py109CODE
LOWartemis/runtime/daemon_client.py210CODE
LOWartemis/agents/flash/context_compressor.py109CODE
LOWartemis/data_engine/engine.py853CODE
LOWartemis/data_engine/engine.py1387CODE
LOWartemis/sdk/builders/agent_config_builder.py116CODE
LOWartemis/interfaces/cli/commands/run.py44CODE
LOWartemis/interfaces/cli/commands/run.py169CODE
LOWtests/unit/memory/test_history_chunking.py159CODE
LOWtests/unit/mcp/test_diagnose_tool.py269CODE
LOWdocs/assets/generate_banner.py86CODE
LOWpackages/artemis-client/src/artemis_client/client.py72CODE
LOWpackages/artemis-client/src/artemis_client/client.py175CODE
LOWpackages/artemis-client/src/artemis_client/client.py295CODE
LOWapps/admin_console/services/task_queue_service.py1041CODE
LOWmcp_server/tools/task_runner.py205CODE
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHthird_party/mobile_use/sdk/agent.py240Install an app on the connected device. For Android: Installs an APK file using ADB. Args: STRING
HIGHthird_party/mobile_use/sdk/types/task.py149Parse the content into a Pydantic model instance. Args: model_class: The Pydantic model class to paSTRING
HIGH…_party/mobile_use/sdk/builders/agent_config_builder.py176Build the AgentConfig object. Args: default_profile: Name of the default agent profile to use STRING
Verbosity Indicators6 hits · 14 pts
SeverityFileLineSnippetContext
LOW⚡playground/deploy_to_cos.sh51# Step 1: Build Docker Images on local gLinux workstation (linux/amd64)COMMENT
LOW⚡playground/deploy_to_cos.sh68# Step 2: Stream & Load Docker Images into COS VM via SSH PipeCOMMENT
LOW⚡playground/deploy_to_cos.sh86# Step 3: Launch / Restart Artemis Services on the COS VMCOMMENT
LOW⚡tests/e2e/play_youtube.py310 # Step 1: Bypass welcome screensCOMMENT
LOW⚡tests/e2e/play_youtube.py313 # Step 2: Play the first videoCOMMENT
LOW⚡tests/e2e/play_youtube.py315 # Step 3: Verify it playsCOMMENT
Structural Annotation Overuse6 hits · 14 pts
SeverityFileLineSnippetContext
LOW⚡playground/deploy_to_cos.sh51# Step 1: Build Docker Images on local gLinux workstation (linux/amd64)COMMENT
LOW⚡playground/deploy_to_cos.sh68# Step 2: Stream & Load Docker Images into COS VM via SSH PipeCOMMENT
LOW⚡playground/deploy_to_cos.sh86# Step 3: Launch / Restart Artemis Services on the COS VMCOMMENT
LOW⚡tests/e2e/play_youtube.py310 # Step 1: Bypass welcome screensCOMMENT
LOW⚡tests/e2e/play_youtube.py313 # Step 2: Play the first videoCOMMENT
LOW⚡tests/e2e/play_youtube.py315 # Step 3: Verify it playsCOMMENT
Overly Generic Function Names11 hits · 12 pts
SeverityFileLineSnippetContext
LOWartemis/clients/screen_client_factory.py172 def helper(self) -> AccessibilityClient:CODE
LOWartemis/interfaces/cli/commands/run.py44async def execute_task(CODE
LOW⚡third_party/mobile_use/sdk/agent.py328 async def run_task(CODE
LOW⚡third_party/mobile_use/sdk/agent.py337 async def run_task(CODE
LOW⚡third_party/mobile_use/sdk/agent.py345 async def run_task(CODE
LOWthird_party/mobile_use/sdk/agent.py292 async def run_task(CODE
LOWthird_party/mobile_use/sdk/agent.py304 async def run_task(CODE
LOWthird_party/mobile_use/sdk/agent.py316 async def run_task(CODE
LOWpackages/artemis-client/src/artemis_client/client.py334 async def run_task(self, task: Any, **overrides: Any) -> TaskResult:CODE
LOWapps/admin_console/routers/tasks.py70async def run_task(request: RunRequest):CODE
LOWmcp_server/background/task_runner.py113async def run_task(CODE
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHartemis/config/settings.py69 "your_api_key",CODE
HIGHtests/unit/test_config_package.py118 assert is_placeholder_key("<your-api-key>") is TrueCODE
Fake / Example Data8 hits · 9 pts
SeverityFileLineSnippetContext
LOWplayground/backend_manager/README.md73* `POST /api/v1/auth/otp/send` — Request a 6-digit OTP code (`{"identifier": "user@example.com"}`).COMMENT
LOWplayground/backend_manager/app/schemas/auth_schema.py20 ..., description="User phone number or email address", example="user@example.com"CODE
LOWplayground/backend_manager/app/schemas/auth_schema.py32 ..., description="User phone number or email address", example="user@example.com"CODE
LOWartemis/utils/ocr_xml_fusion.py26PLACEHOLDERS = {"search", "enter text", "placeholder"}CODE
LOW⚡tests/unit/test_credentials_validator.py43 assert "placeholder" in msg.lower()CODE
LOWtests/unit/core/test_device_smoke.py265 assert "placeholder" in result["error"]CODE
LOWtests/unit/agents/test_validator.py59 self.screenshot = "ZHVtbXlfZGF0YQ==" # b64("dummy_data")CODE
LOWtests/unit/agents/test_validator.py106 p.write_bytes(b"dummy_data")CODE
Dead Code4 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_llm_gateway.py69CODE
MEDIUMtests/unit/test_llm_gateway.py95CODE
MEDIUMtests/unit/test_llm_gateway.py124CODE
MEDIUMtests/unit/test_llm_gateway.py138CODE