Re-capture the #137 request set on the completed feature/tracing-migration
and diff the span shape against the pre-migration baseline
(docs/tracing-baseline/pre-migration/, branch baseline/span-baseline-137,
commit 73523c6).
Build release off the finished migration branch.
Replay the same requests against a local Jaeger: GET /photos, GET /memories, POST /insights/generate/agentic, POST /insights/chat/stream, plus the incoming-traceparent probe.
Regenerate span-inventory.json and compare operation names, span.kind,
attribute keys, and parent/child nesting.
Confirm the "before" gaps are closed: one root span per request; the async
generation parented to its HTTP request (not a separate trace); the
streaming chat path no longer fragmented.
Confirm parity is preserved: llm.request keeps kind=client with llm.model / llm.provider / llm.operation; db.* keeps db.query_type / db.operation; an incoming W3C traceparent still joins
the caller's trace (now via the middleware root span).
Record intentional differences (the middleware root span; the dropped
per-handler request spans) as expected, not regressions.
Note: re-capture needs the same preconditions #137 hit — a populated DB copy,
local Jaeger, release build, and a temp aux bind (the hardcoded localhost:8088 collides with the live image-rs.service).
Resolution
The after-capture diff against the baseline, and an explicit parity verdict
(pass, or an intentional-difference list).
Part of #135
## Work
Re-capture the #137 request set on the completed `feature/tracing-migration`
and diff the span shape against the pre-migration baseline
(`docs/tracing-baseline/pre-migration/`, branch `baseline/span-baseline-137`,
commit `73523c6`).
- Build release off the finished migration branch.
- Replay the same requests against a local Jaeger: `GET /photos`,
`GET /memories`, `POST /insights/generate/agentic`,
`POST /insights/chat/stream`, plus the incoming-`traceparent` probe.
- Regenerate `span-inventory.json` and compare operation names, `span.kind`,
attribute keys, and parent/child nesting.
- Confirm the "before" gaps are closed: one root span per request; the async
generation parented to its HTTP request (not a separate trace); the
streaming chat path no longer fragmented.
- Confirm parity is *preserved*: `llm.request` keeps `kind=client` with
`llm.model` / `llm.provider` / `llm.operation`; `db.*` keeps
`db.query_type` / `db.operation`; an incoming W3C `traceparent` still joins
the caller's trace (now via the middleware root span).
- Record intentional differences (the middleware root span; the dropped
per-handler request spans) as expected, not regressions.
Note: re-capture needs the same preconditions #137 hit — a populated DB copy,
local Jaeger, release build, and a temp aux bind (the hardcoded
`localhost:8088` collides with the live `image-rs.service`).
## Resolution
The after-capture diff against the baseline, and an explicit parity verdict
(pass, or an intentional-difference list).
Duplicate of #143 ("Verify parity against the baseline"), which already exists, predates this ticket, and is already wired to the same blockers (#140/#141/#142, with #137 now closed). Closing this as the redundant copy; #143 is canonical.
Duplicate of #143 ("Verify parity against the baseline"), which already exists, predates this ticket, and is already wired to the same blockers (#140/#141/#142, with #137 now closed). Closing this as the redundant copy; #143 is canonical.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #135
Work
Re-capture the #137 request set on the completed
feature/tracing-migrationand diff the span shape against the pre-migration baseline
(
docs/tracing-baseline/pre-migration/, branchbaseline/span-baseline-137,commit
73523c6).GET /photos,GET /memories,POST /insights/generate/agentic,POST /insights/chat/stream, plus the incoming-traceparentprobe.span-inventory.jsonand compare operation names,span.kind,attribute keys, and parent/child nesting.
generation parented to its HTTP request (not a separate trace); the
streaming chat path no longer fragmented.
llm.requestkeepskind=clientwithllm.model/llm.provider/llm.operation;db.*keepsdb.query_type/db.operation; an incoming W3Ctraceparentstill joinsthe caller's trace (now via the middleware root span).
per-handler request spans) as expected, not regressions.
Note: re-capture needs the same preconditions #137 hit — a populated DB copy,
local Jaeger, release build, and a temp aux bind (the hardcoded
localhost:8088collides with the liveimage-rs.service).Resolution
The after-capture diff against the baseline, and an explicit parity verdict
(pass, or an intentional-difference list).
Duplicate of #143 ("Verify parity against the baseline"), which already exists, predates this ticket, and is already wired to the same blockers (#140/#141/#142, with #137 now closed). Closing this as the redundant copy; #143 is canonical.