Universal AI coding assistant memory — session handoff, SLM compression, and semantic retrieval.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio
verified
reported
listed in the official MCP registry counts 4 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
graph_query
BFS traversal of the knowledge graph
-
recall
Full session context: handoff + working memory
-
recent
Most recent N events, filterable by category
-
search
FTS5 full-text search over all session events
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 3afdfb0 · analyzer v20 · 20h ago
skills & prompt files 1
evidence-backed
findings quoted directly from the published source artifact — not inferred
filesystem 27
- fs Morous-Dev-engram-context-continuum-3afdfb0/ekilo.js :21
import { readFileSync, existsSync, mkdirSync, writeFileSync, statSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/adapters/codex-transcript.ts :13
} from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/adapters/local-config.ts :1
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/cli/download-model.ts :13
import { existsSync, createWriteStream, renameSync, mkdirSync, statSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/cli/setup.ts :24
import { mkdirSync, existsSync, statSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/compression/index.ts :19
import { readFileSync, existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/compression/tier2.ts :28
import { existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/compression/tier3.ts :27
import { existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/compression/tier3b.ts :32
import { existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/compression/tier3c.ts :29
import { existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/handoff/dedup.ts :18
import { readFileSync, existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/handoff/reader.ts :15
import { readFileSync, existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/handoff/writer.ts :21
import { writeFileSync, mkdirSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/assistant-startup.mjs :2
import { readFileSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/codex-pretooluse.mjs :12
import { appendFileSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/codex-sessionstart.mjs :5
} from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/codex-stop.ts :5
import { appendFileSync, mkdirSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/kilo-sessionstart.mjs :20
import { writeFileSync, existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/session-directive.mjs :16
import { writeFileSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/session-helpers.mjs :18
import { mkdirSync, existsSync, readFileSync, writeFileSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/sessionstart.mjs :34
import { readFileSync, writeFileSync, unlinkSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/suppress-stderr.mjs :17
import { closeSync, openSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/mcp/server.ts :32
import { existsSync, readFileSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/memory/working.ts :14
import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/project-id.ts :20
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/retrieval/query-expander.ts :31
import { existsSync } from "node:fs"; - fs Morous-Dev-engram-context-continuum-3afdfb0/src/session/db-base.ts :18
import { unlinkSync } from "node:fs";
shell / exec 8
- shell Morous-Dev-engram-context-continuum-3afdfb0/ekilo.js :20
import { spawn, spawnSync } from "node:child_process"; - shell Morous-Dev-engram-context-continuum-3afdfb0/src/adapters/detect.ts :7
* Depends on: node:child_process, node:os. - shell Morous-Dev-engram-context-continuum-3afdfb0/src/cli/download-model.ts :8
* Depends on: node:fs, node:path, node:child_process, node:stream, - shell Morous-Dev-engram-context-continuum-3afdfb0/src/cli/setup.ts :10
* Depends on: node:os, node:fs, node:path, node:child_process, node:readline, - shell Morous-Dev-engram-context-continuum-3afdfb0/src/compression/detect.ts :17
* Depends on: node:os, node:child_process. - shell Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/hook-runner.mjs :8
* Depends on: node:child_process. - shell Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/session-helpers.mjs :20
import { execSync } from "node:child_process"; - shell Morous-Dev-engram-context-continuum-3afdfb0/src/project-id.ts :9
* Depends on: node:crypto, node:fs, node:path, node:child_process.
network 2
- net Morous-Dev-engram-context-continuum-3afdfb0/src/cli/download-model.ts :156
* Download a GGUF model via Node.js fetch (requires Node 18+). - net Morous-Dev-engram-context-continuum-3afdfb0/src/compression/tier4.ts :17
* Depends on: node:fetch (Node 18+ built-in), src/compression/tier1.ts,
secrets 1
- secrets Morous-Dev-engram-context-continuum-3afdfb0/src/compression/tier4.ts :257
const groqKey = process.env["GROQ_API_KEY"] ?? "";
database 4
- db Morous-Dev-engram-context-continuum-3afdfb0/src/mcp/server.ts :35
import Database from "better-sqlite3"; - db Morous-Dev-engram-context-continuum-3afdfb0/src/memory/graph.ts :18
import type { Database as DatabaseInstance } from "better-sqlite3"; - db Morous-Dev-engram-context-continuum-3afdfb0/src/memory/vector.ts :28
import type { Database as DatabaseInstance } from "better-sqlite3"; - db Morous-Dev-engram-context-continuum-3afdfb0/src/session/db-base.ts :15
import type DatabaseConstructor from "better-sqlite3";
install hooks 1
- postinstall (suspicious) Morous-Dev-engram-context-continuum-3afdfb0/package.json :33
node -e "console.log('EngramCC postinstall: skipped automatic setup. Run engramcc inside your project folder to initialize local .engram-cc/.')"
declared dependencies 12
- @modelcontextprotocol/sdk@^1.27.1
- better-sqlite3@^12.6.2
- js-yaml@^4.1.0
- zod@^4.3.6
- @anthropic-ai/sdk@^0.78.0
- @types/better-sqlite3@^7.6.13
- @types/js-yaml@^4.0.9
- @types/node@^22.0.0
- typescript@^5.7.0
- @huggingface/transformers@^3.3.0
- node-llama-cpp@^3.6.0
- sqlite-vec@^0.1.6
obfuscation 7
- dynamic require()/import() Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/codex-pretooluse.mjs :43
const { syncCodexTranscript } = await import(pathToFileURL(join(BUILD_ADAPTERS, "codex-transcript.js")).href); - dynamic require()/import() Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/codex-sessionstart.mjs :40
const { syncCodexTranscript } = await import(pathToFileURL(join(BUILD_ADAPTERS, "codex-transcript.js")).href); - dynamic require()/import() Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/kilo-sessionstart.mjs :44
const { readHandoff } = await import( - dynamic require()/import() Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/posttooluse.mjs :27
const { ingestEvent } = await import(pathToFileURL(join(BUILD_SESSION, "ingest.js")).href); - dynamic require()/import() Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/precompact.mjs :25
const { prepareCompaction } = await import(pathToFileURL(join(BUILD_SESSION, "ingest.js")).href); - dynamic require()/import() Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/sessionstart.mjs :70
const { SessionDB } = await import(pathToFileURL(join(BUILD_SESSION, "db.js")).href); - dynamic require()/import() Morous-Dev-engram-context-continuum-3afdfb0/src/hooks/userpromptsubmit.mjs :36
const { ingestPrompt } = await import(pathToFileURL(join(BUILD_SESSION, "ingest.js")).href);