Every code change has a blast radius. XSIA measures it across six dimensions — call graph, data flow, shared state, error propagation, import chains, test coverage — on every Edit and Write, before the change lands.
Connect with GitHub — it's freeCall graph impact (what calls the changed function). Data flow changes (what reads the changed value). Shared state mutations (what assumes the old state). Error propagation paths (what catches errors that no longer exist). Import chain fragility (what breaks if the module moves). Test coverage gaps (what tests assumed the old behavior). All six run on every code change.
XFBA catches contract violations. XSIA maps what breaks downstream. They run together on every edit, in that order. If XFBA finds a violation, XSIA still runs — concerns are marked provisional ('fix XFBA first'). You can't meaningfully analyze cascade impact on broken code, but you can see it coming.
XSIA scans your entire codebase for files, functions, and interfaces that depend on the code you changed. The blast radius appears before you commit — not three broken screens later.
Concerns come with a What line (what will break) and a Risk line (why it matters). Not a stack trace. Not a lint warning. A specific description of the impact, written to be understood by Claude Code and acted on by you.
'Fix impact issues or let it ride?' You're always in control. Some cascade concerns are routine. XSIA tells you which are substantive and which you can safely ignore. The decision is yours, with enough information to make it.
XFBA runs first — always.
XSIA receives the change + XFBA results.
Six-dimension cascade analysis runs across the codebase.
Clean: stamp fires, edit proceeds.
Concerns: edit blocked. Concern report surfaces — What + Risk per concern.
'Fix impact issues or let it ride?' Your call.
You fix a type mismatch. Three screens blow up. You fix the screens. Context fills. Claude Code forgets the architecture. You start over.
XSIA maps the blast radius before one fix starts breaking everything else.
Add a parameter? XSIA finds every caller that didn't get the memo. Remove a field? XSIA shows every component that reads it. Change a shared state mutation? XSIA traces every path that assumed the old behavior. You see the full cascade before you commit — not three broken screens later.