What Is AI Agent
Blast Radius?
AI agent blast radius is the set of repositories, services and pipelines downstream of a change made by an AI coding agent that can break when that change ships. The term reached mainstream usage through Amazon's March 2026 internal memo, reported by the Financial Times, which described a pattern of AI-linked production incidents as "high blast radius", and the 2026 data behind it is unpacked in our blast radius post.
AI agent blast radius is the set of repositories, services and pipelines downstream of a change made by an AI coding agent that can break when that change ships, measured across the cross-repo dependency graph rather than within the single repository the agent has cloned.
This is change blast radius, meaning what a change breaks. It is distinct from the fault-isolation sense of blast radius used in cell-based architecture and AWS resilience design, where the term describes how far a single runtime failure is allowed to spread. For the general definition of blast radius — the whole spectrum from one function out to the cross-repo artifact edge, and how to measure and contain each band — start there; this page is the AI-agent case of it.
Why agents widen the blast radius
An AI coding agent's context is the repository it has cloned. The edges that break when a
shared artifact changes live in other repositories: a Dockerfile FROM
line pinning your base image, a Terraform source block consuming your module, a
GitLab CI include pulling your template, a Helm chart dependency. The agent
optimises for local correctness inside the repo it can see, and production breaks at the
cross-repo edges it cannot.
That gap is now measurable. Cortex's 2026 Engineering in the Age of AI benchmark reports change failure rates up roughly 30% and incidents per pull request up 23.5% since AI adoption accelerated, with close to 90% of engineering teams using AI coding tools. Google's 2025 DORA report confirms the adoption figure and finds AI has a negative relationship with delivery stability overall. CodeRabbit measured roughly 1.7 times the defect rate in AI-generated code versus human-written code in production pull requests.
The full read of those numbers, and what to put between the agent and main, is in
the blast radius post.
Which AI coding assistants can see blast radius?
None of Claude Code, Cursor or GitHub Copilot resolves cross-repo blast radius on its own. Put them side by side on that one axis and the pattern is not three different amounts of the same capability. It is three tools solving access and reasoning, and a fourth kind of thing solving structure. The last row is not a competing assistant — it is the parsed graph the other three can call.
| Tool | How it reaches across repos | What that gets you | What it structurally cannot resolve |
|---|---|---|---|
| Claude Code | Directory access | You grant it the clones: --add-dir or /add-dir per session, permissions.additionalDirectories to persist the grant. Anthropic is precise about what --add-dir buys — it "grants file access; most .claude/ configuration is not discovered from these directories", skills and subagents excepted. The settings form loads none of it. | Which of those repos breaks if a shared manifest edge changes, and which repo to add in the first place. |
| Cursor | Grep and a per-codebase index | Instant Grep, which Cursor's docs describe as a custom search engine that "outperforms ripgrep on large codebases", plus a per-codebase embeddings index. In a multi-root workspace the docs are explicit that "all codebases get indexed automatically, and each codebase's context is available to Agent" — the reach is real. | The agent can infer the chain hop by hop, but that stays non-deterministic and bounded to what it already reached — never a resolved, deduplicated graph. |
| GitHub Copilot | A context set you assemble | A curated Copilot Space, whose GitHub-based sources GitHub says are "automatically updated as they change" — a promise scoped to GitHub files and other GitHub-based sources, not to everything a Space can hold. The cloud agent starts from one repo and reads past it only if you hand its MCP server a wider-scoped token. | Which repositories to put in that set. The cloud agent "cannot make changes across multiple repositories in one run", works one branch at a time, and opens exactly one pull request per task. |
| A parsed artifact graph | Parses the declared edges | Reads the manifest edges the whole org already declares, from one read-only token. Nothing for you to clone, and no repository list to choose. | Which function or CI job inside a downstream repo breaks. It resolves repositories, not symbols. |
Vendor claims in this table were re-checked against each vendor's own documentation on 27 July 2026. These capabilities move weekly.
Read down the last column. Every "cannot" in the first three rows is the same shape: an edge whose far end is in a repo the tool never took in, or never resolved past the string. The last row's "cannot" is a different shape entirely — a real limit, but a limit of resolution, repositories rather than functions, not a limit of reach.
Two walls stand in the way, and each of the three hits both. The first is resolution: reading a repo is not resolving its edges. An edge only enters a graph when something parses the manifest that declares it and resolves the shorthand back to the producing repository. An agent can chain greps and walk the composition outward, which is real, but a chain-walk is inference — partial, non-deterministic, stopping wherever the crawl runs out.
The second is reach, and it is where every cross-repo mechanism the three ship bottoms out. Granting Claude Code the clones. Adding folders to a Cursor workspace. Curating a Copilot Space. Fanning Copilot tasks across repositories over the agent-tasks API. Each terminates in a list of repositories a human chose, and choosing that list is the blast-radius question itself. Discovery does not rescue it: an agent grepping outward cannot add the repo that breaks until it already knows it breaks. That last constraint is the resolution wall wearing the reach wall's clothes, and it is the thing you were trying to find out.
This is why "just use a bigger context window" and "just embed everything" do not close the gap. Embeddings retrieve by resemblance, and a declared dependency is not a resemblance — the long version is in inferred context is not a dependency graph. Symbol graphs are genuinely excellent and also the wrong layer: they resolve code symbols, not the infrastructure edges declared in Terraform, Docker, Helm and CI, which is a different category of graph entirely.
One honest caveat, because a sharp reader will have it ready. Step one category over from the daily-driver assistants and a tool did ship real cross-repo awareness on this exact layer: Qodo's Cross Repo Review, announced June 2026 and still badged Beta in Qodo's docs as of 27 July 2026. Give it its due, because it reaches further than the three above: the first relationship type in its docs is "One repository imports, calls, or depends on code exported by the other", and since v2.5 on 30 June 2026 Qodo "discovers the relationships between your repositories automatically, so cross-repository review works without mapping dependencies by hand". So the line I draw is not that Qodo needs to be told. It is mechanism and moment.
On mechanism: Qodo's relationships are classified associations, not resolved edges. Its
own docs say "Relationships are non-directional. The order of Repository A and
Repository B does not affect how the agent uses the relationship" — and a dependency
edge is directional by definition, because which end breaks depends entirely on which
way it points. The docs describe the review step as one where "the agent reads the
related repositories and traces the impact in both directions", and they offer a status
of "Not found — Qodo could not determine a connection between the two repositories",
remedied by describing the dependency yourself. That is inference, with a fallback to
declaration. A parsed source = edge is neither: it is the same statement
the build already executes. On moment: Qodo surfaces on pull requests already opened,
not at the point a developer is deciding what to change. Qodo does not break the
argument. It sharpens it: hand a tool the cross-repo relationships and it will reason
over them well. The whole question is where those relationships come from, which way
they point, and how they are resolved.
Containment patterns
There are three ways teams try to contain AI agent blast radius. Each one helps. They differ in what they actually map.
Version pinning and slow rollout
Pinning a consumer to a known-good version and rolling changes out gradually slows the cascade. A downstream repo that pins your base image to an explicit tag will not pull a breaking change the moment you publish it, and a staged rollout gives you time to notice damage before it reaches every consumer. This is genuinely fine at small scale. What it does not do is tell you which repositories consume the artifact in the first place, so it slows the blast radius without mapping it.
Hand-maintained coordination graphs
Some teams write the dependency model down by hand. Mabl’s is the most documented example: an 850-line Repo Coordination Graph spanning 79 repositories that their agents query at planning time, which they credit with cutting context drift from roughly 40% of agent failures to under 5%. It works. The cost is that a hand-maintained registry has to be kept current by humans at the same throughput the agents are changing the repos, and that maintenance burden grows with every repository added.
A parsed dependency graph as a pre-merge gate
The third pattern derives the graph from the source instead of maintaining it by hand: parse the Terraform source blocks, Dockerfile FROM lines, CI include directives and Helm chart dependencies across the org, resolve consumers to producers, and query the result before a change merges. The pull request asks which consumers this change affects and gets a deterministic answer back. That determinism is the point. A deploy gate needs a deterministic answer, not a confidence score.
The hand-maintained pattern is documented in how three teams arrived at the same diagnosis; the case for deriving the graph deterministically rather than inferring it is in inferred context is not a dependency graph.
Can an agent check blast radius before making a change?
Yes, if it has a queryable graph to call. With the graph exposed as an HTTP API, an agent resolves the repository it is about to change, asks for the transitive set of consumers, and gets the affected repos back before it opens a pull request:
$ curl api.riftmap.dev/api/v1/repositories/{id}/impact \
-H "X-API-Key: $RIFTMAP_KEY"
{ "affected": [
{ "repo": "acme/platform-prod", "depth": 1 },
{ "repo": "acme/monitoring", "depth": 2 }
], "total_affected": 7 }
A receipt rather than an adjective. Take Cloud Posse's
terraform-aws-ssm-parameter-store, the kind of small shared module nobody
thinks about until it changes. On its own, any assistant in the table above sees one
repo. Ask a parsed graph what depends on it and — as scanned on 7 July 2026 — it sits
upstream of 22 other repositories in
the same org — 21 at the 0.8 confidence floor — reached across six hops of Terraform
module composition. Every edge on the
path is a source = reference parsed out of a manifest and resolved back to
the repository that produces the module. Six hops out you reach the org's load balancers
— terraform-aws-alb, terraform-aws-nlb — none of which names
the parameter-store module anywhere in its own files.
Two things keep that honest. The call is repo-level, so it tells you which repositories
are downstream, not which function inside them; for the pre-change question, that is
exactly the resolution you want. And 22 is a transitive closure, not 22 breaks at once —
Cloud Posse pins every edge on that chain, so a bump is a migration you schedule. The
estate that actually needs this graph is the other one: the source that is
a bare git:: URL with no ?ref=, the FROM pinned to
:latest, the CI include that tracks main. Those
do not wait for a coordinated bump, and the same graph tells the two apart because it
carries the version constraint and its pin state on every edge.
The same lookup is what makes the economics work. Meta's April 2026 write-up on their tribal knowledge engine reports that providing a cross-repo dependency index turns "what depends on X?" from a multi-file exploration of roughly 6,000 tokens into a single graph lookup of about 200, a 30-times reduction. Riftmap exposes exactly this surface; how AI coding agents query it covers the endpoints.
Which graph the agent calls decides what it can see, though: a symbol graph, a live-state graph and an artifact graph each answer a different question under the one phrase. Can AI check the blast radius of a PR before you merge? walks all three on one real organisation.
Common questions
01 What is AI agent blast radius?
AI agent blast radius is the set of repositories, services and pipelines downstream of a change made by an AI coding agent that can break when that change ships. It is a property of the cross-repo dependency graph around the change, not of the diff itself. A change an agent makes inside one repository can have a blast radius of forty repositories if forty of them consume the artifact it touched.
02 Can an AI coding agent analyse blast radius before making code changes?
Yes, if the agent has a queryable dependency graph to call. The agent resolves the repository it is about to change, requests the transitive set of consumers, and gets the affected repositories back before it opens a pull request. Without that graph the agent only sees the repository it has cloned, so the cross-repo blast radius stays invisible until something breaks in production. Claude Code, Cursor and Copilot are each measured against exactly this question in the comparison below.
03 Are there AI assistants that show blast radius before code changes?
Not on their own. Mainstream coding assistants like Claude Code, Cursor, and GitHub Copilot see only the repository they have cloned or indexed, so a change that breaks a downstream consumer looks safe because that consumer lives in a repo they never opened. They can show blast radius before a change, but only when you connect a queryable cross-repo dependency graph they can call at planning time — the assistant resolves what it is about to change, asks the graph for the affected repositories, and gets them back before it writes the code. The tool-by-tool breakdown is below, along with the two structural walls all three hit.
04 How do you contain AI agent blast radius?
Three patterns are in use. Version pinning and slow rollout slow the cascade but do not map it. A hand-maintained coordination graph (the Mabl pattern) works but is expensive to keep current. A parsed dependency graph queried as a pre-merge gate gives a deterministic answer to which consumers a change affects before it merges, which is the control a deploy gate actually needs.
05 Is AI agent blast radius different from blast radius in fault-isolation architecture?
Yes. AI agent blast radius is change blast radius: what a specific code change can break across the repositories that depend on it. The fault-isolation sense of blast radius, used in cell-based architecture and AWS resilience design, is about limiting how far a runtime failure can spread. They share a metaphor but describe different things: one is the reach of a change, the other the containment of a fault.
Keep reading
Riftmap maps the blast radius for you
Riftmap is a change impact engine for multi-repo systems. It scans a GitLab or GitHub organisation with a single read-only token, auto-discovers every cross-repo dependency from the actual source files across all 12 ecosystems, and serves the resulting graph two ways: an interactive blast-radius view for engineers, and an HTTP API for AI coding agents to query before they merge. No per-repo configuration. No YAML to maintain.