# Errors point at the `.jadpo` line

Every stack, log event and error response that names a place names a
`.jadpo` file and line, never the generated code. You don't turn this on;
it is always the case. The compiler writes a source map, a record of which
`.jadpo` line each piece of generated code came from. Before a frame is
logged, the runtime uses that map to rewrite it, on the native target and
on WebAssembly alike. A fault reads:

```text
{"event":"operation.failed","classification":"int_overflow",
 "request_id":"req_0b1e…","build":"src_2c78570a2841d2f7",
 "stack":[
   "domains/ordering/actions/price_line.jadpo:4  action price_line",
   "domains/ordering/actions/place_order.jadpo:12  action place_order",
   "domains/ordering/routes/orders.jadpo:8  route POST /orders"]}
```

A frame inside the runtime's own code shows as `runtime: <component>`
rather than a generated-code path. That tells you the fault is in Jadpo,
not in your app.

A domain failure, an outcome your app declares such as `TodoNotFound`,
still logs no stack. It logs only where it was raised and the path it
travelled ([Logging](logging.md)). Frames carry places and
names, never values.
