It arrives before the question does
A UserPromptSubmit hook pushes routed, compressed evidence into the prompt itself. The agent never has to decide to call a tool — which is exactly what the largest tools in this category still require.
Reporecall indexes your repo locally and pushes the right code, call paths and memory into every prompt through a hook — before Claude or Codex starts thinking. And on every response it tells you exactly how fresh that context is.
npm i -g @proofofwork-agency/reporecallGetting the answering evidence in front of the model costs a median of 75.4% fewer tokens than reading the relevant files whole. Measured over 30 pre-registered queries against a real 1,306-file codebase with zero model calls, so the result is deterministic and you can run it yourself.
| Retrieval gate | Release bar | Measured |
|---|---|---|
| Context precision | >= 60% | 91.6% |
| Context recall | >= 85% | 95.6% |
| Pollution ratio | <= 10% | 8.4% |
| Route accuracy | >= 90% | 100.0% |
| High-confidence-wrong | == 0% | 0.0% |
| Freshness signaling | == 100% | 100.0% |
Retrieval quality holds at these levels across the same cohort. Both figures are backed by committed artifacts under quality/evidence/ and registered in quality/claims.json, which CI validates on every push.
Scope, stated plainly: the token figure is context-assembly cost. It excludes reasoning tokens, tool-call overhead and multi-turn exploration, so it is not an end-to-end agent measurement — and we do not publish one, because we have not earned it yet. Unmeasured things report insufficient_evidence instead of a guess.
A UserPromptSubmit hook pushes routed, compressed evidence into the prompt itself. The agent never has to decide to call a tool — which is exactly what the largest tools in this category still require.
Every response carries indexedCommit, a dirty-file count, and an explicit banner when the index is STALE or EMPTY. Staleness gets reported, never hidden behind a confident answer.
Each query is classified — lookup, trace, architecture, change, bug — and sent to a strategy built for it. "Where is X" and "how does X flow" are not the same retrieval problem.
search_context, search_code, explain_flow, memory, refresh_context, get_stats. A surface small enough for an agent to use correctly, with no destructive verbs on it.
Decisions, rules and project facts persist across sessions and are injected alongside code when they are actually relevant — not on every prompt regardless.
A generated wiki, business-context pages, and a single-file interactive dashboard built from your real call graph. Export it with lens --json.
Confidently wrong context is the failure mode that actually costs you time. So Reporecall states its own freshness on every response and hands the agent the command to repair it. These are the three states you will see:
Indexing and retrieval are local, on SQLite and LanceDB, with zero cloud required by default and no recurring cost. Embeddings run locally unless you deliberately select the openai provider — the one case where content leaves your machine.
Claude Code through hooks, Codex and any MCP-compatible agent through the six-tool server. 22 languages via tree-sitter. Node 22 or newer.
949 tests, a module and cycle gate, multi-OS CI, and a release gate that stays blocked when current proof is missing. The claims registry fails the build if a published number loses its evidence.
The gnarly one — high churn, half-remembered, too big to hold in your head. That is the case Reporecall is built for.