github Python analyzed 604439a

adamthuvesen/engram

github

Structured cross-project memory for coding agents. Tiered retrieval with no embeddings or vector database.

maintainer
adamthuvesen
licence
MIT
first seen
2026-07-08
last seen
2026-09-07
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 23 tools
transport stdio counts 23 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • approve_candidates
  • audit_memories
  • correct_memory
  • doctor
  • edit_fact
  • forget
  • import_memories
  • inspect
  • list_candidates
  • mark_stale
  • memory_stats
  • merge_memories
  • purge
  • recall
  • recall_context
  • recall_stats
  • recall_trace
  • reject_candidates
  • remember
  • rename_project
  • suggest_memories
  • sync
  • unmark_stale
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 604439a · analyzer v33 · 1w ago

skills & prompt files 2

danger signals1

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 71

filesystem 27

  • fs adamthuvesen-engram-604439a/src/engram/core/config.py :7 from pathlib import Path
  • fs adamthuvesen-engram-604439a/src/engram/dashboard/app.py :6 from pathlib import Path
  • fs adamthuvesen-engram-604439a/src/engram/extraction/importer.py :4 from pathlib import Path
  • fs adamthuvesen-engram-604439a/src/engram/maintenance/doctor.py :22 from pathlib import Path
  • fs adamthuvesen-engram-604439a/src/engram/recall/evals.py :24 from pathlib import Path
  • fs adamthuvesen-engram-604439a/src/engram/storage/store.py :15 from pathlib import Path
  • fs adamthuvesen-engram-604439a/src/engram/storage/sync.py :19 import shutil
  • fs (weak) adamthuvesen-engram-604439a/tests/bench_tiers.py :19 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/run_cross_project_recall_evals.py :18 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/run_evals.py :54 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/run_extraction_quality_evals.py :21 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/run_memory_audit_evals.py :21 from pathlib import Path
show 15 more
  • fs (weak) adamthuvesen-engram-604439a/tests/test_cli.py :8 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_cli_parity.py :8 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_doctor.py :8 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_evals.py :5 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_event_log.py :439 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_hardening.py :8 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_maintenance.py :7 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_observer.py :6 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_operations.py :8 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_provenance.py :7 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_retriever.py :5 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_safety.py :4 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_server_recall.py :7 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_store.py :9 from pathlib import Path
  • fs (weak) adamthuvesen-engram-604439a/tests/test_sync.py :15 import shutil

shell / exec 4

  • shell adamthuvesen-engram-604439a/src/engram/maintenance/doctor.py :19 import subprocess
  • shell adamthuvesen-engram-604439a/src/engram/storage/sync.py :20 import subprocess
  • shell (weak) adamthuvesen-engram-604439a/tests/test_doctor.py :327 import subprocess as _subprocess
  • shell (weak) adamthuvesen-engram-604439a/tests/test_sync.py :16 import subprocess

secrets 2

  • secrets adamthuvesen-engram-604439a/src/engram/core/config.py :123 current = os.environ.get("OPENAI_API_KEY")
  • secrets (weak) adamthuvesen-engram-604439a/tests/test_config.py :59 assert os.environ["OPENAI_API_KEY"] == "cached-key"

tool registrations 23

  • remember adamthuvesen-engram-604439a/src/engram/server.py :191
  • suggest_memories adamthuvesen-engram-604439a/src/engram/server.py :207
  • list_candidates adamthuvesen-engram-604439a/src/engram/server.py :225
  • approve_candidates adamthuvesen-engram-604439a/src/engram/server.py :243
  • reject_candidates adamthuvesen-engram-604439a/src/engram/server.py :257
  • recall adamthuvesen-engram-604439a/src/engram/server.py :273
  • recall_trace adamthuvesen-engram-604439a/src/engram/server.py :308
  • recall_context adamthuvesen-engram-604439a/src/engram/server.py :336
  • forget adamthuvesen-engram-604439a/src/engram/server.py :354
  • edit_fact adamthuvesen-engram-604439a/src/engram/server.py :364
  • inspect adamthuvesen-engram-604439a/src/engram/server.py :388
  • correct_memory adamthuvesen-engram-604439a/src/engram/server.py :408
show 11 more
  • merge_memories adamthuvesen-engram-604439a/src/engram/server.py :433
  • mark_stale adamthuvesen-engram-604439a/src/engram/server.py :458
  • unmark_stale adamthuvesen-engram-604439a/src/engram/server.py :464
  • import_memories adamthuvesen-engram-604439a/src/engram/server.py :472
  • purge adamthuvesen-engram-604439a/src/engram/server.py :481
  • rename_project adamthuvesen-engram-604439a/src/engram/server.py :487
  • audit_memories adamthuvesen-engram-604439a/src/engram/server.py :501
  • doctor adamthuvesen-engram-604439a/src/engram/server.py :514
  • memory_stats adamthuvesen-engram-604439a/src/engram/server.py :540
  • recall_stats adamthuvesen-engram-604439a/src/engram/server.py :546
  • sync adamthuvesen-engram-604439a/src/engram/server.py :562

declared dependencies 13

  • fastmcp@==4.0.0b2
  • pydantic@>=2.0.0
  • pydantic-settings@>=2.0.0
  • litellm@>=1.40.0
  • pyyaml@>=6.0.0
  • textual@>=1.0.0
  • textual-plotext@>=1.0.0
  • mypy@>=2.2.0
  • pre-commit@>=4.0.0
  • pytest@>=8.0.0
  • pytest-asyncio@>=0.23.0
  • ruff@>=0.15.0
show 1 more
  • types-pyyaml@>=6.0.12.20260518