An impact proof is a reading list, not a verdict
Nykst answers one narrow question: based on the static structure of this repository, what code mentions the item you are about to change? It does not run your tests, deploy your branch, or decide whether the change is safe. The proof gives you the files and lines to inspect, in an order that follows how the dependency actually flows.
Read the proof as four layers. The item is the file, export or symbol you selected. Direct importers are the files that name it. Runtime dependents are files that reach it through other imports. Entrypoints are the routes, servers or commands where that chain becomes something a user can trigger. A file can have many importers and still be harmless, and a file can have one importer that is a production entrypoint. The count is a hint about where to look, not a risk score.
A real example: the Nykst brand component
In the public Nykst repository, NykstBrand is defined in src/components/brand/NykstLogo.tsx:76. It accepts a subtitle, a size and an optional class name, and it renders the wordmark used across the product. The live map classifies a change to it as high impact because the component reaches public entrypoints, not because it is large. The file is 100 lines.
The direct importers are enough to see the shape of the risk. The landing page imports it at src/routes/index.tsx:4, the graph at src/routes/graph.tsx:28, the plans page at src/routes/subscribe.tsx:4, and the shared header at src/components/site/LandingHeader.tsx:4. The same component is also imported by the privacy, status, limits, changelog, partnerships, memory, docs and MCP routes. A signature change would therefore touch every one of those pages at compile time, and a styling change would alter every one of them visually.
That is the whole proof. It is checkable in the repository today, and it does not require trusting a summary written by a model. If a line number moves, the file path still gives you the same evidence.
How a connection is traced
Import edges have a direction, but a person asking how two files are connected usually does not know which side imports the other. The tracer walks both outgoing dependency edges and incoming dependent edges, then records the direction of every hop. The implementation starts at src/lib/analysis/trace.ts:40; the direction is written into each step at lines 72 to 83. The result is a shortest path, capped at 16 hops by default, with the exact import line for every hop.
The behaviour is pinned by tests in tests/trace-path.test.ts. The reverse chain case begins at line 44, the mixed-direction case at line 58, and the type-only case at line 73. If you are reviewing a claim about a chain, open the test that covers the shape of that chain. A direct import and a reverse dependency are not the same statement, and the proof should never blur them.
What the proof does not say
- It does not prove the database state, the runtime configuration or the data inside a production environment. It reads code, not live rows.
- It does not see imports built from runtime strings, and it does not guess a framework convention that is not written as an import. The analysis limitations say this on the page rather than filling the gap with a plausible edge.
- It does not turn a green type check into a guarantee. A visual regression, a broken migration or a missing environment variable can pass the compiler and still fail in production.
- A missing test is not evidence of safety. Nykst lists coverage only when it can point to a test file that imports the item. Review the test, do not count it.
A short review routine
- Open the definition and read the actual exported surface.
- Open two direct importers with different jobs, not the two closest names.
- Follow one chain to an entrypoint and confirm the entrypoint still exists.
- Find the test that covers the changed behaviour, if there is one, and read it.
- Write down the check you will run. If the proof cannot name a check, say so.
The live map is at /graph. Open the Nykst example, search for NykstBrand, and compare the dossier with the files above.