local · offline · cited

The business logic is in one person's head. Reify compiles it out.

Reify reads a brownfield codebase — source, SQL, business documents and fifteen years of git history — and compiles it into a queryable model. Your agent asks for a task and gets back the smallest set of facts that answers it, every one carrying a file and a line number.

install
 curl -fsSL https://raw.githubusercontent.com/lambiengcode/reify/main/install.sh | sh
 reify init && reify index
 reify context "add a discount tier for strategic customers" --budget 1500

Measured on someone else's benchmark

SWE-bench Verified is 500 real GitHub issues. For each one the index is built at that issue's own base commit, so the fix cannot leak into what Reify is allowed to know. Both arms get the same token budget.

84.6%Reify offered a file the fix touched
6.6%grep, same budget
12 / 12repositories where Reify wins
0network calls, asserted in CI
reify84.6%
grep6.6%

Retrieval is not the same as resolution, and the README says so with equal prominence: end to end, Reify and a BM25 baseline currently resolve the same number of issues. The full write-up shows both, including the arms that failed.

What it does

Six commands, each answering a question an agent otherwise guesses at.

A terminal tour: reify index rebuilds the graph; reify context compiles a briefing under a token budget; reify why returns the callers, tables, co-changes and commits behind one line; reify impact traces the blast radius through multiple hops; reify explain shows a business concept across every file it appears in; and reify context --toon emits the same facts in the agent format.

reify context

The flagship. Compiles the minimum useful context for a task, under a token budget you set.

reify why

For one line: its callers, the tables it writes, the files it co-changes with, and the commits that explain it.

reify impact

What breaks if this changes, including hops no single grep would follow.

reify explain

One business concept across every language, table and file it appears in.

reify conflicts

Documentation that disagrees with the implementation, with both sides cited.

reify serve

The Model Context Protocol over stdio, three tools, for agents that speak it.

Every claim carries its evidence

Reify never states a guess as a fact. Each claim is tagged with how it is known, so an agent — or a reviewer — can tell a parsed fact from an inference without reading the docs.

reify why erpnext/selling/doctype/customer/customer.py:514
[confirmed] erpnext/accounts/doctype/journal_entry/journal_entry.py:492  calls check_credit_limit
[observed]  customer  (is written by after_insert)
[inferred]  journal entry check credit limit: if customers from …customer import check credit limit
[unknown]   no document section describes this symbol

confirmed

Parsed directly from source. A fact.

observed

Seen in behaviour or history, repeatedly.

inferred

A lead to verify against its citation, never a fact.

conflicted

Two sources disagree, and both are shown.

unknown

Nothing is known — said plainly, not guessed.

It never opens a socket

Not "by default" — at all. There is no HTTP client in the dependency tree, and the test suite fails the build if one appears. For a company that will not let proprietary code near a cloud service, that is the difference between a tool they can evaluate and one they cannot.

Networking crates in Cargo.lockasserted zero, in CI
Sockets in the sourceasserted zero, in CI
Subprocessesgit, reviewed document converters, and — for reify upgrade only — curl and tar; each named in a test
Telemetrynone, and no flag that turns any on

Wire it into your agent

No protocol, no server, no per-turn schema tax — this is the level the benchmark measured.

one command
 reify init --write-agent-instructions

Appends a short block to AGENTS.md or CLAUDE.md. For tools that read a different file — .cursorrules, CONVENTIONS.md, .windsurfrules, .clinerules/ — paste the same lines. Full instructions.