Repository Analysis

NevaMind-AI/memU

Personal memory across agents

26.5 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of NevaMind-AI/memU, a Python project with 14,352 GitHub stars. SynthScan v2.0 examined 34,159 lines of code across 218 source files, recording 794 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 26.5 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).

26.5
Adjusted Score
26.5
Raw Score
100%
Time Factor
2026-08-28
Last Push
14.4K
Stars
Python
Language
34.2K
Lines of Code
218
Files
794
Pattern Hits
2026-08-29
Scan Date
0.06
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

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

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 0HIGH 14MEDIUM 27LOW 753

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 794 distinct pattern matches across 12 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 Identifiers449 hits · 442 pts
SeverityFileLineSnippetContext
LOWtests/test_recall_file_backfill.py67def test_backfills_stub_description_and_embedding(provider: str, tmp_path: pathlib.Path) -> None:CODE
LOWtests/test_recall_file_backfill.py81def test_backfill_survives_a_reread(provider: str, tmp_path: pathlib.Path) -> None:CODE
LOWtests/test_recall_file_backfill.py96def test_populated_fields_are_never_overwritten(provider: str, tmp_path: pathlib.Path) -> None:CODE
LOWtests/test_recall_file_backfill.py115def test_empty_caller_values_leave_a_stub_alone(provider: str, tmp_path: pathlib.Path) -> None:CODE
LOWtests/test_cowork_verify.py50def test_parser_exposes_one_repeatable_cowork_verify_surface(tmp_path: Path) -> None:CODE
LOWtests/test_cowork_verify.py62def test_explicit_missing_root_is_an_argument_error(tmp_path: Path) -> None:CODE
LOWtests/test_cowork_verify.py69def test_automatic_zero_roots_is_a_successful_warning(CODE
LOWtests/test_cowork_verify.py86def test_automatic_mode_uses_platform_discovery(CODE
LOWtests/test_cowork_verify.py100def test_explicit_empty_root_is_a_successful_warning(CODE
LOWtests/test_cowork_verify.py115def test_clean_mixed_sources_pass_all_dimensions_without_writes(CODE
LOWtests/test_cowork_verify.py146def test_sub_float_precision_mtime_ties_follow_the_composite_contract(CODE
LOWtests/test_cowork_verify.py169def test_overlap_warns_without_printing_content_or_digests(CODE
LOWtests/test_cowork_verify.py193def test_read_failure_is_aggregate_and_fails_without_leaking_the_path(CODE
LOWtests/test_cowork_verify.py216def test_broken_composite_contract_fails_timeline(CODE
LOWtests/test_cache_segment_duplicates.py28def test_list_segments_no_duplicates_in_cache(db_backend: Database) -> None:CODE
LOWtests/test_cache_segment_duplicates.py64def test_postgres_list_segments_deduplicates_cache() -> None:CODE
LOWtests/test_trust.py47def test_an_existing_trust_store_is_left_alone(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_trust.py57def test_a_capath_alone_counts_as_a_trust_store(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_trust.py64def test_no_context_argument_is_passed_when_the_store_is_healthy(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_trust.py76def test_a_pathless_platform_store_is_left_alone(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_trust.py86def test_the_real_windows_store_is_left_alone() -> None:CODE
LOWtests/test_trust.py95def test_certifi_fills_a_vacuum(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_trust.py111def test_a_missing_certifi_degrades_instead_of_raising(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_trust.py126def test_the_answer_is_cached_across_calls(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_trust.py160def test_event_delivery_verifies_against_the_fallback(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_trust.py170def test_template_refresh_verifies_against_the_fallback(CODE
LOWtests/test_env_passthrough.py41def test_no_proxy_in_config_reaches_the_environment(config_file: pathlib.Path) -> None:CODE
LOWtests/test_env_passthrough.py49def test_environment_wins_over_the_file(config_file: pathlib.Path, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_env_passthrough.py58def test_no_passthrough_keys_no_side_effect(config_file: pathlib.Path) -> None:CODE
LOWtests/test_env_passthrough.py66def test_memu_http_proxy_works_from_the_file(config_file: pathlib.Path) -> None:CODE
LOWtests/test_segment_vector_search.py49def test_returns_segments_best_first(db_backend: Database) -> None:CODE
LOWtests/test_segment_vector_search.py68def test_nonpositive_top_k_returns_nothing(db_backend: Database) -> None:CODE
LOWtests/test_segment_vector_search.py75def test_skips_segments_without_an_embedding(db_backend: Database) -> None:CODE
LOWtests/test_segment_vector_search.py85def test_scopes_to_where_including_track_in(db_backend: Database) -> None:CODE
LOWtests/test_segment_vector_search.py102async def test_progressive_retrieve_takes_the_repo_shortcut() -> None:CODE
LOWtests/test_segment_vector_search.py205def test_postgres_ranks_and_truncates_in_sql() -> None:CODE
LOWtests/test_segment_vector_search.py221def test_postgres_caches_hits_like_a_listing() -> None:CODE
LOWtests/test_segment_vector_search.py231def test_postgres_without_pgvector_falls_back_to_the_python_scan() -> None:CODE
LOWtests/test_segment_vector_search.py251def test_postgres_native_path_honours_nonpositive_top_k() -> None:CODE
LOWtests/test_embedding_proxy.py57def test_loopback_urls_are_recognized(url: str) -> None:CODE
LOWtests/test_embedding_proxy.py75def test_ambient_proxy_is_ignored_for_loopback(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_embedding_proxy.py81def test_explicit_memu_proxy_wins_even_for_loopback(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_embedding_proxy.py92def test_bypass_mounts_are_host_specific() -> None:CODE
LOWtests/test_embedding_proxy.py101def test_http_client_bypasses_ambient_proxy_for_loopback(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_embedding_proxy.py117def test_sdk_client_bypasses_ambient_proxy_for_loopback(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_embedding_proxy.py127def test_sdk_client_honors_memu_proxy_on_its_own(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_embedding_proxy.py163async def test_embed_reaches_local_server_despite_dead_env_proxy(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_embedding_proxy.py180async def test_sdk_embed_reaches_local_server_despite_dead_env_proxy(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_host_instruction.py150def test_cli_defaults_to_the_codex_instruction_file() -> None:CODE
LOWtests/test_host_instruction.py158def test_hermes_is_an_inline_host() -> None:CODE
LOWtests/test_host_instruction.py168def test_openclaw_is_a_skill_host() -> None:CODE
LOWtests/test_host_instruction.py176def test_cola_is_a_skill_host() -> None:CODE
LOWtests/test_host_instruction.py184def test_workbuddy_defaults_to_soul_as_an_inline_host() -> None:CODE
LOWtests/test_host_instruction.py192def test_default_install_migrates_the_legacy_instruction_after_writing_the_new_target(CODE
LOWtests/test_host_instruction.py357def test_cli_registers_remove_instruction() -> None:CODE
LOWtests/test_host_instruction.py364def test_skill_carries_the_procedure_and_names_the_host_binary() -> None:CODE
LOWtests/test_host_instruction.py372def test_skill_block_points_at_the_skill_instead_of_carrying_the_procedure() -> None:CODE
LOWtests/test_host_instruction.py381def test_install_skill_writes_the_skill_where_the_host_looks(tmp_path: pathlib.Path) -> None:CODE
LOWtests/test_host_instruction.py389def test_install_skill_is_idempotent_then_upgrades_in_place(tmp_path: pathlib.Path, monkeypatch) -> None:CODE
LOWtests/test_host_instruction.py43def test_creates_file_when_absent(tmp_path: pathlib.Path) -> None:CODE
389 more matches not shown…
Unused Imports195 hits · 192 pts
SeverityFileLineSnippetContext
LOWtests/test_recall_file_backfill.py15CODE
LOWtests/test_cowork_verify.py3CODE
LOWtests/conftest.py16CODE
LOWtests/test_cache_segment_duplicates.py3CODE
LOWtests/test_trust.py12CODE
LOWtests/test_env_passthrough.py11CODE
LOWtests/test_segment_vector_search.py10CODE
LOWtests/test_embedding_proxy.py14CODE
LOWtests/test_host_instruction.py13CODE
LOWtests/test_scheduling_windows.py16CODE
LOWtests/test_agentic.py8CODE
LOWtests/test_bridging_promotion.py11CODE
LOWtests/test_doctor_proxy_hint.py10CODE
LOWtests/test_task_naming.py3CODE
LOWtests/test_host_generic.py4CODE
LOWtests/test_embedding.py13CODE
LOWtests/test_bridging_self_sessions.py9CODE
LOWtests/test_openclaw_self_sessions.py3CODE
LOWtests/test_cursor_self_sessions.py3CODE
LOWtests/test_vector.py1CODE
LOWtests/test_cowork_sessions.py3CODE
LOWtests/test_cloud.py1CODE
LOWtests/test_events.py9CODE
LOWtests/test_host_templates.py9CODE
LOWtests/test_cli.py8CODE
LOWtests/test_host_sessions.py9CODE
LOWtests/test_config_cmd.py11CODE
LOWtests/test_cli_stdio.py10CODE
LOWtests/test_host_retrieval.py13CODE
LOWscripts/db.py23CODE
LOWsrc/memu/config_file.py31CODE
LOWsrc/memu/vector.py10CODE
LOWsrc/memu/env.py27CODE
LOWsrc/memu/cloud.py1CODE
LOWsrc/memu/events.py51CODE
LOWsrc/memu/agentic_backend.py1CODE
LOWsrc/memu/retry.py11CODE
LOWsrc/memu/cli.py18CODE
LOWsrc/memu/trust.py31CODE
LOWsrc/memu/database/interfaces.py1CODE
LOWsrc/memu/database/models.py1CODE
LOWsrc/memu/database/__init__.py3CODE
LOWsrc/memu/database/__init__.py4CODE
LOWsrc/memu/database/__init__.py4CODE
LOWsrc/memu/database/__init__.py4CODE
LOWsrc/memu/database/__init__.py4CODE
LOWsrc/memu/database/__init__.py10CODE
LOWsrc/memu/database/__init__.py10CODE
LOWsrc/memu/database/__init__.py10CODE
LOWsrc/memu/database/factory.py1CODE
LOWsrc/memu/database/state.py1CODE
LOWsrc/memu/database/repositories/recall_file.py1CODE
LOWsrc/memu/database/repositories/resource.py1CODE
LOWsrc/memu/database/repositories/__init__.py1CODE
LOWsrc/memu/database/repositories/__init__.py2CODE
LOWsrc/memu/database/repositories/__init__.py3CODE
LOWsrc/memu/database/repositories/recall_file_segment.py1CODE
LOWsrc/memu/database/sqlite/models.py3CODE
LOWsrc/memu/database/sqlite/session.py3CODE
LOWsrc/memu/database/sqlite/__init__.py3CODE
135 more matches not shown…
Decorative Section Separators25 hits · 88 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_scheduling_windows.py50# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_scheduling_windows.py52# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_scheduling_windows.py313# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_scheduling_windows.py315# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_host_generic.py21# ── the sniffer, one case per dialect ─────────────────────────────────────────COMMENT
MEDIUMtests/test_host_generic.py71# ── detect: the two verdicts ──────────────────────────────────────────────────COMMENT
MEDIUMtests/test_bridging_self_sessions.py53# ── remembering ────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_bridging_self_sessions.py166# ── only the scheduled run may claim a session ─────────────────────────────────COMMENT
MEDIUMtests/test_bridging_self_sessions.py210# ── the identity seam ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_bridging_self_sessions.py91# ── skipping ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_host_sessions.py33# ── Cola ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_host_sessions.py70# ── Codex ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_host_sessions.py125# ── Claude Code ────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_host_sessions.py205# ── Cursor ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_host_sessions.py240# ── OpenClaw ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_host_sessions.py283# ── OpenClaw, SQLite session store ────────────────────────────────────────────COMMENT
MEDIUMtests/test_host_sessions.py772# ── Hermes ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_host_sessions.py871# ── WorkBuddy ────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/memu/hosts/openclaw/sessions.py98 # ── containers ────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/memu/hosts/openclaw/sessions.py214 # ── discovery ─────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/memu/hosts/openclaw/sessions.py318 # ── shape ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/memu/hosts/scheduling/windows.py51# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/memu/hosts/scheduling/windows.py53# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/memu/hosts/scheduling/windows.py185# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/memu/hosts/scheduling/windows.py187# ---------------------------------------------------------------------------COMMENT
Modern Structural Boilerplate66 hits · 66 pts
SeverityFileLineSnippetContext
LOWsrc/memu/vector.py64__all__ = ["cosine_topk"]CODE
LOWsrc/memu/__init__.py15__all__ = ["MemUService", "MemoryService", "__version__"]CODE
LOWsrc/memu/database/interfaces.py30__all__ = [CODE
LOWsrc/memu/database/models.py98__all__ = [CODE
LOWsrc/memu/database/__init__.py16__all__ = [CODE
LOWsrc/memu/database/state.py19__all__ = ["DatabaseState"]CODE
LOWsrc/memu/database/repositories/__init__.py5__all__ = [CODE
LOWsrc/memu/database/sqlite/models.py166__all__ = [CODE
LOWsrc/memu/database/sqlite/session.py11logger = logging.getLogger(__name__)CODE
LOWsrc/memu/database/sqlite/session.py48__all__ = ["SQLiteSessionManager"]CODE
LOWsrc/memu/database/sqlite/__init__.py36__all__ = ["SQLiteStore", "build_sqlite_database"]CODE
LOWsrc/memu/database/sqlite/sqlite.py29logger = logging.getLogger(__name__)CODE
LOWsrc/memu/database/sqlite/sqlite.py133__all__ = ["SQLiteStore"]CODE
LOWsrc/memu/database/sqlite/schema.py99__all__ = ["SQLiteSQLAModels", "get_sqlite_metadata", "get_sqlite_sqlalchemy_models"]CODE
LOWsrc/memu/database/sqlite/repositories/resource_repo.py19logger = logging.getLogger(__name__)CODE
LOWsrc/memu/database/sqlite/repositories/resource_repo.py270__all__ = ["SQLiteResourceRepo"]CODE
LOW…/memu/database/sqlite/repositories/recall_file_repo.py19logger = logging.getLogger(__name__)CODE
LOW…/memu/database/sqlite/repositories/recall_file_repo.py310__all__ = ["SQLiteRecallFileRepo"]CODE
LOWsrc/memu/database/sqlite/repositories/__init__.py8__all__ = [CODE
LOW…tabase/sqlite/repositories/recall_file_segment_repo.py18logger = logging.getLogger(__name__)CODE
LOW…tabase/sqlite/repositories/recall_file_segment_repo.py145__all__ = ["SQLiteRecallFileSegmentRepo"]CODE
LOWsrc/memu/database/sqlite/repositories/base.py15logger = logging.getLogger(__name__)CODE
LOWsrc/memu/database/sqlite/repositories/base.py128__all__ = ["SQLiteRepoBase"]CODE
LOWsrc/memu/database/inmemory/vector.py13__all__ = ["_cosine", "cosine_topk"]CODE
LOWsrc/memu/database/inmemory/models.py45__all__ = [CODE
LOWsrc/memu/database/inmemory/__init__.py28__all__ = ["build_inmemory_database"]CODE
LOWsrc/memu/database/inmemory/state.py7__all__ = ["DatabaseState", "InMemoryState"]CODE
LOW…c/memu/database/inmemory/repositories/resource_repo.py101__all__ = ["InMemoryResourceRepository", "ResourceRepo"]CODE
LOW…emu/database/inmemory/repositories/recall_file_repo.py119__all__ = ["InMemoryRecallFileRepository", "RecallFileRepo"]CODE
LOWsrc/memu/database/inmemory/repositories/__init__.py11__all__ = [CODE
LOW…base/inmemory/repositories/recall_file_segment_repo.py74__all__ = ["InMemoryFileSegmentRepository"]CODE
LOWsrc/memu/database/inmemory/repositories/filter.py32__all__ = ["matches_where"]CODE
LOWsrc/memu/database/postgres/models.py172__all__ = [CODE
LOWsrc/memu/database/postgres/session.py12logger = logging.getLogger(__name__)CODE
LOWsrc/memu/database/postgres/session.py34__all__ = ["SessionManager"]CODE
LOWsrc/memu/database/postgres/__init__.py34__all__ = ["build_postgres_database"]CODE
LOWsrc/memu/database/postgres/postgres.py27logger = logging.getLogger(__name__)CODE
LOWsrc/memu/database/postgres/migration.py17logger = logging.getLogger(__name__)CODE
LOWsrc/memu/database/postgres/migration.py72__all__ = ["DDLMode", "make_alembic_config", "run_migrations"]CODE
LOWsrc/memu/database/postgres/schema.py108__all__ = ["SQLAModels", "Vector", "get_metadata", "get_sqlalchemy_models", "require_sqlalchemy"]CODE
LOW…c/memu/database/postgres/repositories/resource_repo.py164__all__ = ["PostgresResourceRepo"]CODE
LOW…emu/database/postgres/repositories/recall_file_repo.py202__all__ = ["PostgresRecallFileRepo"]CODE
LOWsrc/memu/database/postgres/repositories/__init__.py5__all__ = [CODE
LOW…base/postgres/repositories/recall_file_segment_repo.py176__all__ = ["PostgresRecallFileSegmentRepo"]CODE
LOWsrc/memu/database/postgres/repositories/base.py12logger = logging.getLogger(__name__)CODE
LOWsrc/memu/database/postgres/repositories/base.py113__all__ = ["PostgresRepoBase"]CODE
LOWsrc/memu/app/client_pool.py67__all__ = ["ClientPool"]CODE
LOWsrc/memu/app/__init__.py11__all__ = [CODE
LOWsrc/memu/embedding/openai_sdk.py10logger = logging.getLogger(__name__)CODE
LOWsrc/memu/embedding/http_client.py70logger = logging.getLogger(__name__)CODE
LOWsrc/memu/embedding/__init__.py23__all__ = [CODE
LOWsrc/memu/embedding/backends/__init__.py8__all__ = [CODE
LOWsrc/memu/hosts/cola/__init__.py5__all__ = ["ColaTranscriptSource"]CODE
LOWsrc/memu/hosts/openclaw/sessions.py45logger = logging.getLogger(__name__)CODE
LOWsrc/memu/hosts/openclaw/cron_identity.py17logger = logging.getLogger(__name__)CODE
LOWsrc/memu/hosts/openclaw/__init__.py11__all__ = ["OpenClawTranscriptSource"]CODE
LOWsrc/memu/hosts/scheduling/__init__.py18__all__ = ["install", "status", "uninstall", "verify"]CODE
LOWsrc/memu/hosts/cursor/__init__.py11__all__ = ["CursorTranscriptSource"]CODE
LOWsrc/memu/hosts/codex/__init__.py10__all__ = ["CodexTranscriptSource"]CODE
LOWsrc/memu/hosts/claude_code/__init__.py12__all__ = ["ClaudeCodeTranscriptSource", "ClaudeDesktopTranscriptSource"]CODE
6 more matches not shown…
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGH…/memu/database/sqlite/repositories/recall_file_repo.py0one keyset page ordered by ``(track, name, id)`` (adr 0014).STRING
HIGH…emu/database/inmemory/repositories/recall_file_repo.py0one keyset page ordered by ``(track, name, id)`` (adr 0014).STRING
HIGH…emu/database/postgres/repositories/recall_file_repo.py0one keyset page ordered by ``(track, name, id)`` (adr 0014).STRING
HIGHsrc/memu/hosts/openclaw/cli.py0``memu-workbuddy`` — the workbuddy host adapter's command-line surface. the verbs are the shared host-adapter surface (:STRING
HIGHsrc/memu/hosts/cursor/cli.py0``memu-workbuddy`` — the workbuddy host adapter's command-line surface. the verbs are the shared host-adapter surface (:STRING
HIGHsrc/memu/hosts/workbuddy/cli.py0``memu-workbuddy`` — the workbuddy host adapter's command-line surface. the verbs are the shared host-adapter surface (:STRING
Excessive Try-Catch Wrapping24 hits · 25 pts
SeverityFileLineSnippetContext
LOWsrc/memu/events.py595 except Exception:CODE
LOWsrc/memu/events.py766 except Exception:CODE
LOWsrc/memu/events.py826 except Exception:CODE
LOWsrc/memu/events.py878 except Exception:CODE
LOWsrc/memu/events.py1073 except Exception:CODE
LOWsrc/memu/cli.py118 except Exception:CODE
LOWsrc/memu/cli.py207 except Exception as exc:CODE
LOWsrc/memu/trust.py85 except Exception:CODE
LOWsrc/memu/database/postgres/session.py30 except Exception:CODE
MEDIUMsrc/memu/database/postgres/session.py27def close(self) -> None:CODE
LOWsrc/memu/database/postgres/repositories/base.py40 except Exception:CODE
LOWsrc/memu/database/postgres/repositories/base.py50 except Exception:CODE
LOWsrc/memu/hosts/host_cli.py284 except Exception as exc:CODE
LOWsrc/memu/hosts/host_cli.py359 except Exception:CODE
LOWsrc/memu/hosts/host_cli.py626 except Exception as exc:CODE
LOWsrc/memu/hosts/host_cli.py633 except Exception:CODE
LOWsrc/memu/hosts/host_cli.py942 except Exception as exc:CODE
LOWsrc/memu/hosts/templates.py127 except Exception:CODE
LOWsrc/memu/hosts/retrieval.py131 except Exception:CODE
LOWsrc/memu/hosts/claude_code/cowork_cmd.py95 except Exception: # Each failure is reported only as an aggregate count; transcript paths stay private.CODE
LOWsrc/memu/hosts/claude_code/cowork_cmd.py184 except Exception:CODE
LOWsrc/memu/hosts/claude_code/cowork_cmd.py251 except Exception as exc:CODE
LOWsrc/memu/hosts/claude_code/cowork_cmd.py275 except Exception as exc:CODE
LOWsrc/memu/hosts/bridging/pipeline.py97 except Exception:CODE
Magic Placeholder Names5 hits · 22 pts
SeverityFileLineSnippetContext
HIGHdocs/sqlite.md19 llm_profiles={"default": {"api_key": "your-api-key"}},CODE
HIGHdocs/sqlite.md29 llm_profiles={"default": {"api_key": "your-api-key"}},CODE
HIGHdocs/sqlite.md45 llm_profiles={"default": {"api_key": "your-api-key"}},CODE
HIGHdocs/sqlite.md76 llm_profiles={"default": {"api_key": "your-api-key"}},CODE
HIGHsrc/memu/embedding/http_client.py215 ... api_key="your-api-key",STRING
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsrc/memu/database/sqlite/repositories/resource_repo.py203Overwrite an existing resource's mutable fields (see :class:`ResourceRepo`). Args: resource_id: ID STRING
HIGH…/memu/database/sqlite/repositories/recall_file_repo.py254Update an existing recall file. Args: recall_file_id: ID of recall file to update. nameSTRING
HIGHsrc/memu/embedding/http_client.py197 Create multimodal embeddings using Doubao embedding vision API. This method supports embedding a mix oSTRING
Deep Nesting12 hits · 12 pts
SeverityFileLineSnippetContext
LOWscripts/db.py41CODE
LOWsrc/memu/cloud.py251CODE
LOWsrc/memu/retry.py31CODE
LOWsrc/memu/database/sqlite/repositories/base.py103CODE
LOWsrc/memu/database/inmemory/repositories/filter.py7CODE
LOWsrc/memu/database/postgres/migration.py35CODE
LOWsrc/memu/database/postgres/repositories/base.py89CODE
LOWsrc/memu/hosts/bridging/recall_files.py65CODE
LOWsrc/memu/hosts/bridging/pipeline.py33CODE
LOWsrc/memu/hosts/bridging/resources.py97CODE
LOWsrc/memu/hosts/generic/detect.py114CODE
LOWsrc/memu/hosts/cowork/sessions.py126CODE
Over-Commented Block7 hits · 6 pts
SeverityFileLineSnippetContext
LOWtests/test_events.py1001COMMENT
LOWsrc/memu/hosts/host_cli.py741 voluntary can report more completions than attempts.COMMENT
LOWsrc/memu/hosts/host_cli.py941 return 130COMMENT
LOWsrc/memu/hosts/templates.py181 """The best template available: server, then last-good cache, then ``embedded``.COMMENT
LOWsrc/memu/hosts/retrieval.py121 # Delivered inline on both legs, never flushed (ADR 0016): the backend wants theCOMMENT
LOWsrc/memu/hosts/cursor/BRIDGING_TASK.md81 **`--trust` flag and the `cd` into the host working tree**: `cursor-agent`COMMENT
LOWsrc/memu/hosts/bridging/pipeline.py61 max_jobs=max_jobs,COMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMsrc/memu/app/settings.py103 # Agent/session scoping for multi-agent and multi-session memory filteringCOMMENT
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/memu/database/postgres/postgres.py38CODE