Guard · Blast radius

Blast radius

Ask "what breaks if I change this?" and get the answer in one line. Forward and reverse traversal over the callgraph and the schema and route edges: every caller, every callee, every read and write the change touches, with file paths and line numbers cited.

Start here if you want to review a diff before it merges, with the blast radius of every changed file beside it: the Review queue guide.

Where to find it

  • MCP tool: causal_blast_radius: pass a route (route::METHOD /path), a symbol (<file>::<symbol>), a table (db::<schema>.<table>), or a bare file path; depth defaults to 2, max 5
  • Localhost: the Blast radius page (AI Security in the sidebar, then Blast radius under All tools, in the Agent findings group), with impacted-by and depends-on columns grouped by edge type. Ask the brain answers the same question in a 3-column view of upstream, routes reaching this, and downstream.
  • API: GET /api/causal/blast?repo=<id>&subject=<id> (optional depth)
  • Keyboard: ⌘ K then blast

What it does for you

Stop one-line changes that break ten things.Before you touch PUT /api/users/[id], see every caller and every table the handler reads or writes.
Reverse traversal, not just forward.Find every route, handler, and file that reads or writes a given database table, before a rename or a drop. The graph tracks tables, not individual columns.
Cited, deterministic, LLM-free.Pure graph traversal over the recorded edge store, built by lib/edge-extractor.mjs (imports, routes, reads, writes) and lib/causal/callgraph.mjs (calls). Same query, same answer, every time. No BYOK key needed.

Read more

Last updated