Cross-repo blast radius
If you change this service, what downstream services and repos break? Blast radius walks the system graph against its edges and returns every reachable service ranked by impact.
Blast radius answers a single question: if I change this service, what
downstream services and repos break? It walks the
system graph against its edge direction
(a consumer → provider edge means changing the provider impacts the
consumer) and returns every reachable service ranked by an impact score.
Structural vs behavioral impact
Two edge classes are weighted and labelled distinctly:
- Structural edges (http, grpc, event, package) assert a real dependency, a contract or an import. They propagate impact at full weight and surface as will break.
- Behavioral co-change edges only assert that two files historically changed together. That is correlation, not a call, so they propagate at half weight and surface as may drift.
Each impacted service carries its distance (hops from the change) and
score (0-1, with distance decay and the behavioral weighting baked
in). Nearer, structural impact ranks highest.
Three ways to use it
REST
GET /api/workspace/blast-radius?target=<node-id-or-repo>&max_depth=3&include_behavioral=truetarget is a node id (repo or repo::service/path) or a repo alias
(which expands to all of its services).
MCP
The get_blast_radius tool (workspace
mode) gives an agent the impacted set before it touches a high-fan-out
provider. The get_risk PR-mode directive also
gains will_break_consumers and missing_cross_repo_cochanges, so a
diff in one repo flags its cross-repo fallout.
System Map
Pick a service in the Blast radius control above the Live System Map. The reachable set ripples (highlighted, the rest dimmed, with badges grading intensity), and a side panel lists the impacted services. Click any impacted service to walk the impact outward from there.
Structural impact (will break) outweighs behavioral co-change
(may drift). When both appear for the same change, fix the structural
consumers before you ship, and treat the co-change set as a checklist to
review.
System graph & map
The service-granular system graph repowise folds every cross-repo signal into, the Live System Map that renders it, and the extraction diagnostics that explain why a contract link did or didn't form.
Breaking-change guard
Did a provider change in a way that actually breaks its consumers? On every workspace update, freshly-extracted contracts are diffed against the previous index and each incompatible change is reported with the exact consumer files it endangers.