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
$ npm install -g @clickety-clacks/engram
Apache License 2.0
github.com/clickety-clacks/engram
Works with existing agent transcripts.Engram automatically finds prior Codex, Claude Code, and agent sessions, then gives provenance over work that already happened.
Builds a navigable provenance landscape.Agentic search lets you follow code through refactors, renames, moves, and rewrites.
Works completely locally.No servers. No signups. No transcript upload.
Explain before edit.engram explain gives agents context before they touch unfamiliar code.
01engram watch
Engram can ingest the transcript history already on disk, then keep going with engram watch. 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.
$ 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. 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" came up elsewhere too
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...
Install Engram

Have your agent install it now.

Use Engram locally, then ask your coding agent to run engram explain before it changes unfamiliar code.

NPM npm install -g @clickety-clacks/engram
Homebrew brew install clickety-clacks/tap/engram
Cargo cargo install --git https://github.com/clickety-clacks/engram
github.com/clickety-clacks/engram