For AI agentsA Markdown index of these docs is at /llms.txt. Every page is also Markdown: add .md to its address.

Docs / Read an answer

Real answers from real runs

What LLMGRAPH actually says to a coding agent, copied from real runs on open-source repos, including where it can't see and where it loses.

Many call graphs guess when they can't resolve a call, and hand the guess to the agent as fact. LLMGRAPH is the truth layer between your agent and your repo: it never presents a guess as proven, labels every answer line, and names what it can't see.

You don't need an account to judge that. Below are real answers from real runs on open-source projects. The stop check's text is exactly as printed; in the other blocks we trimmed lines where marked.

1It holds the agent when an edit breaks callers

An agent in Claude Code was asked to change super_len(o) to super_len(o, strict) in requests v2.32.3 and touch no other file. When it tried to finish, the stop check held it:

LLMGRAPH: 8 calls break because of your edits: src/requests/models.py:526 PreparedRequest.prepare_body: misses "strict" src/requests/models.py:575 PreparedRequest.prepare_content_length: misses "strict" tests/test_utils.py:62 TestSuperLen.test_io_streams: misses "strict" tests/test_utils.py:63 TestSuperLen.test_io_streams: misses "strict" tests/test_utils.py:69 TestSuperLen.test_super_len_correctly_calculates_len_of_partially_read_file: misses "strict" tests/test_utils.py:82 TestSuperLen.test_super_len_handles_files_raising_weird_errors_in_tell: misses "strict" tests/test_utils.py:95 TestSuperLen.test_super_len_tell_ioerror: misses "strict" tests/test_utils.py:98 TestSuperLen.test_string: misses "strict" Fix them, or tell the user why each is fine.

The agent listed the breaks and offered two fixes instead of finishing. In all, 16 calls broke; the other 8 were still being confirmed. Since version 0.4.5 the first line also says how many more aren't confirmed yet.

Raw: stop-check-requests-2026-10-26.txt · LLMGRAPH 0.4.4, plugin 0.3.0, 26 October 2026

2Two functions, one name: look-alikes ruled out

zod ships two copies of addIssueToContext (src/ and deno/lib/). A text search returns 143 lines from both, mixed together. LLMGRAPH separates them:

llmgraph · who_calls addIssueToContext (src/helpers/parseUtil.ts:72): 71 in a set ⚠ type checker starting: answers use our own reading for now; 71 calls unchecked ◇ within_these 71 calls -> one of 1 (closed: repo only) [c] w1 ⚠ plus 7 dynamic calls nearby that could reach anything w2 – ruled out: 71 same-name calls (proven: other target) [c] w3 assumes [c]: our own reading, not confirmed by the checker (lines trimmed)

Note the second line: the type checker hadn't confirmed yet, and the answer says so.

Raw: https://github.com/brainfoods-studio/llmgraph-agent-plugin/blob/main/benchmarks/blind-test/answers/zod_who_calls_addIssueToContext.txt · zod v3.23.8

3It names what it can't see

Asked what it can't see in requests, LLMGRAPH counts its blind spots by kind and by file instead of hiding them:

llmgraph · what_is_unknown (whole repo): 617 blind spots ⚠ dynamic call 174: tests/test_requests.py (161), tests/test_utils.py (6), +6 files w11 ⚠ type unknown 443: tests/test_requests.py (286), src/requests/cookies.py (21), +17 files w12

And when it can prove callers, it says how far the proof reaches:

llmgraph · what_breaks_if_changed super_len (depth 3): 22 places depend on it ✓ certain src/requests/models.py:526 PreparedRequest.prepare_body w3 ✓ certain src/requests/models.py:575 PreparedRequest.prepare_content_length w4 +12 more certain in 1 files w5 ⚠ plus 9 dynamic calls nearby that could reach anything w6 depth 2, each as strong as its weakest step: ◇ +2 more places at depth 2, as weak as within_these [a][c] w7 depth 3, each as strong as its weakest step: ◇ +6 more places at depth 3, as weak as within_these [a][c] w8 ⚠ 7 more deeper calls we can't see: not followed w9 ⚠ 2 places beyond depth 3 not followed w10 [a] is not confirmed for this repo: ask the user whether every subclass lives in this repo, then repeat with family yes, no or unsure assumes [a]: all subclasses are in this repo (project setting) assumes [c]: our own reading, not confirmed by the checker (lines trimmed)

Raw: https://github.com/brainfoods-studio/llmgraph-agent-plugin/blob/main/benchmarks/privacy/run2-answers.txt · requests v2.32.3, the released npm 0.4.3

4Where it loses: use ripgrep for unique names

On names that appear only once in a repo, a plain text search finds the same callers for fewer tokens. From our own benchmark on requests:

SymbolTrue callersripgrep: found, tokensLLMGRAPH: found, tokens (with expansions)
rebuild_proxies33, 763, 310
get_netrc_auth55, 1155, 297

Use ripgrep there. LLMGRAPH earns its place when names collide, before you change something others depend on, and after an edit.

Raw: https://github.com/brainfoods-studio/llmgraph-agent-plugin/blob/main/benchmarks/noisy-names/data/score_tables.md · LLMGRAPH 0.4.1

5Blind test: 50 questions, three repos

A tester with no access to the engine's internals asked 50 graded questions on requests, rich and zod. No confident answer was wrong: no line labelled certain, exactly_these or within_these was wrong. The same report lists where answers were misleading or unclear, and what we fixed.

Full report and raw answers: https://github.com/brainfoods-studio/llmgraph-agent-plugin/tree/main/benchmarks/blind-test · all results: https://github.com/brainfoods-studio/llmgraph-agent-plugin/blob/main/BENCHMARKS.md


Want to see it on your own code? Request an invite: invites go out within minutes; 7-day trial, no card. Windows x64; Python and TypeScript/JavaScript.

For agentsthis page as Markdown/docs/real-answers.mdllms.txt