Docs / The five questions
what_breaks_if_changed
Everything that depends on this, directly or indirectly, and what we can't see.
Your agent asks it before a wider change.
What it takes
| Input | Type | What it is |
|---|---|---|
| symbol | text, required | function, method or class name, path:line, or a w-handle |
| depth | whole number, 1 to 5, optional | — |
| budget | whole number, optional | — |
| expand | text, optional | A w-handle from this session to list in full, or reset. |
| format | text or json, optional | — |
| family | yes, no or unsure, optional | family: your answer to 'are all subclasses of these types inside this repository?' yes, no or unsure (default unsure). It sets the [a] assumption in answers. |
Example
your agent
what_breaks_if_changed(symbol: "Store.save")llmgraph · what_breaks_if_changed Store.save (depth 3): 3 places depend on it, 1 open
✓ certain app/admin.py:3 reset w8
◇ within_these, one of 3 app/service.py:4 persist (closed: repo only) [a] w9
⚠ maybe_more app/service.py:8 persist_any (open: type unknown) w10
⚠ plus dynamic calls elsewhere that could reach anything w11
– ruled out: 2 same-name calls (proven: other target) [a] w12
overrides: MemStore.save, PgStore.save w13
assumes [a]: all subclasses are in this repo (project setting)
captured from the engine on the example projectEach line explained: Reading an answer.
What it cannot tell you
- It follows only strong links past the first level.
- Open callers are counted, not followed.