proximo

Client reports are captured by a proximo hop that rewrites the response

To tell a developer — or an agent — whether a broken page is the backend's fault or the front-end's, proximo needs both halves of an Exchange, and the two halves only join if one component mints the correlation id, writes it into the Access record, and hands it to the page. So Inspection is done by a small proximo-owned Go service placed in the request path of routes that opt in: it injects a reporting agent into HTML responses, serves the reserved path /.proximo/, ingests what the agent sends, and owns both ends of the id.

The binding constraint is that this must work on any stack that serves HTML — Rails, Django, Laravel, PHP, Go templates, a static build, any SPA — not only on the ones with a JavaScript dev server. That single requirement is what puts the mechanism in the proxy: the proxy is the only place every project already passes through.

Considered Options

Consequences