Runtime evidence, made navigable

See the path your
runtime actually took.

Capture semantic dependencies during real Node.js execution. Then inspect a deterministic graph you can explain, diff, and merge.

07
semantic nodes
07
aggregate edges
00
package dependencies

One capture, five beats

Follow one request through the city.

Two synthetic routes share the same recommendation capability. Step through how their runtime structure becomes evidence.

capture / recommendation-api / 002 deterministic snapshot
Runtime Impact Graph showcase GET /api/discover and POST /api/weekend-plans both call getRecommendedPlaces(). It contains loadPlaceContext(). GET /v1/places and GET /v1/forecast feed the loader, which passes normalized context to rankPlaces(). ROUTE · 01 OBS GET /api/discover ROUTE · 01 OBS POST /api/weekend-plans CAPABILITY getRecommendedPlaces() ×2 LOADER loadPlaceContext() ×2 RESOURCE · ×2 GET /v1/places RESOURCE · ×2 GET /v1/forecast DERIVED rankPlaces() ×2
dependsOnprerequisite → dependent
containsowner → active scope
×2aggregate observations

Read the signal honestly

Observed is evidence.
Unobserved is unknown.

Observed

A captured execution used this path.

Nodes and edges summarize what the instrumented run actually entered or declared. Counts aggregate repeated observations.

Unobserved

No claim about paths you did not capture.

An absent edge means “not observed in these executions.” It does not prove that a dependency cannot exist.

Small by design

Semantic runtime structure.
Nothing hidden.