From 2e259ec84879b6faf90128ae47547a6b88eb6f74 Mon Sep 17 00:00:00 2001 From: Volodymyr Vreshch Date: Sun, 9 Aug 2026 16:25:45 +0200 Subject: [PATCH] chore(release): 0.8.1 Ships the request-path redaction from #17: on a matched route the span carries the route template, not the customer's concrete file path. README documents the behaviour under 'What gets traced'. Also exports readableRoute, which un-mangles express RegExp routes from their regex source. --- README.md | 16 ++++++++++++++++ package.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5769766..69cc507 100644 --- a/README.md +++ b/README.md @@ -176,6 +176,22 @@ import { withSpan } from '@agentage/observability'; await withSpan('store.read', () => store.read(id), { memory: id }); ``` +### Request paths are templated, not concrete + +On a SERVER span where the instrumentation matched a route, `url.path` carries the +route **template** rather than the concrete target, and `url.full` is dropped. On a +content route the concrete path is the customer's own file path - as revealing as +the body - and the template groups identically anyway. + +``` +url.path /v1/memories/:param/notes/:path (not .../notes/00_INBOX/2026-08-04_bugs.md) +``` + +Unmatched paths stay verbatim: scanner probes and static assets are not user +content, and keeping them is what makes a routing regression visible. Express +routes registered as a `RegExp` are un-mangled from their regex source at the same +point, so they are readable and usable as a facet. + ## Why the loader hook `bootstrap.js` calls `module.register()` with diff --git a/package.json b/package.json index 2a8c5ba..357347f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@agentage/observability", - "version": "0.8.0", + "version": "0.8.1", "description": "Shared observability kit for agentage services: OTLP trace bootstrap (node --import), pino logger preset with trace correlation, one-call error capture, and the estate /health envelope.", "type": "module", "license": "MIT",