Code Provenance Tool

ENGRAM

Every line of code started as a conversation. Engram helps you find it.

$ git clone https://github.com/clickety-clacks/engram.git
$ cargo install engram
Apache License 2.0
github.com/clickety-clacks/engram
Index
Links every piece of code back to the conversation that produced it
Fingerprint
Winnow k-gram matching finds code even after refactoring, renames, and moves
Local
Nothing leaves your filesystem. No servers, no signups
Agent-Ready
Agents run engram explain before touching code they didn't write
01engram watch
Set it up once and forget it. Watch monitors your conversations with agents and indexes them as they finish. Every piece of code that gets written or changed is fingerprinted and linked back to the conversation that produced it. This runs in the background — the rest of the workflow builds on what it collects.
$ engram watch Watching 3 sources from .engram/config.yml New session: clawline-2026-03-15.jsonl Normalizing... 847 events Extracting code spans... 312 found Computing fingerprints... done indexed 312 spans across 38 files Watching for new conversations...
Later, you're staring at code that looks wrong...
02engram explain
Point at any file or line range. Explain finds the conversation that led to the code — who wrote it, when, and why.
$ engram explain src/server.ts:3453-3495 Computing fingerprint for span... Querying index... session af156abd agent claude-opus date 2026-03-15 14:22 PDT file src/server.ts (was gateway.ts) confidence 0.94
Found it — but what were they actually discussing?
03engram peek
Read the conversation around the code change. See exactly what was said, what was decided, and why it was built this way.
$ engram peek af156abd Session af156abd — turns 412-452
FlynnWhy does the /alert endpoint not require authentication? That seems like a security hole.
AgentIntentional. Security model is trust-by-possession of a valid session key. Auth is at session key level, not HTTP level.
FlynnOK. Document that in the code so the next person does not "fix" it.
"trust-by-possession" — where else did that come up?
04engram grep
Search every conversation you've had with agents by keyword or phrase. Find every discussion where this idea came up, decided, or changed.
$ engram grep "trust-by-possession" Searching 1,247 indexed sessions... af156abd turn 419 ...trust-by-possession of a valid session key... c903ef12 turn 67 ...moved to trust-by-possession after the JWT mess... 8b21aa07 turn 203 ...trust-by-possession means we never validate tokens...