Impact Simulator
Ask what breaks before you write the change. The Impact Simulator grounds a plain-English question against the real dependency graph, then reports the blast radius with the evidence behind every file in it.
Asking a question
Type the change you are considering. Four presets are offered, and your last five questions are kept locally so you can re-run one:
- “What breaks if I remove the authentication middleware?”
- “Which files depend on the UserService class?”
- “Impact of changing the database schema for the orders table”
- “What happens if I rename config.js?”
Direction matters
The same file list answers two opposite questions, so the wording changes with the question. A reverse question — what breaks if I change this — is headed Impact Summary and lists Affected Files. A forward question — what does this depend on — is headed Dependency Summary and lists Depends On. Calling the second list “affected files” would state the relationship backwards.
The tab
The headlines
Above the file list, the simulator raises a banner for each kind of risk it can prove from the repository. Each one appears only when it has something to report:
- API surface — the externally callable routes and pages the change reaches, with their signatures, and any that middleware does not cover.
- Database writes — the tables the change modifies, listed apart from the ones it only reads.
- Test coverage — how many of the changed source files have a matching test, and how many do not.
- Unit-only coverage — files whose only tests are unit tests. A green suite there can still hide a broken integration path.
- Undeclared environment variables — variables the change depends on that are missing from your example env file, so a fresh deployment may run without them.
- Feature flags — flags the change touches, and whether each is permanently off, permanently on, or set at runtime.
- Entry points and packages — the externally-triggered entry points inside the radius, and the declared packages it imports.
The file list
Blast radius
The list carries one overall classification — Localized, Moderate or Wide — beside its heading, and each file carries its own risk band. Filter the list by band with the pills on the right.
Per-file evidence
Every row explains why the file is in the radius, and adds what the other scans know about it: the confidence that it is really affected, whether it has tests and at what level, the route it serves if it is one, and any feature flags it references.
Truncation
Long results are capped at the files with the strongest evidence, and the tab says so where the list is, naming how many more files are affected but not shown. It is never presented as the complete radius.
What it cannot see
- Calls made through a variable or a string. A dynamic dispatch has no static edge to follow.
- Runtime values. The simulator can see that a feature flag exists, never whether it is on in production.
- Behaviour. It reports which files are reached, not whether your change is correct.