Keep tool output out of span errors and fix trace status and listing

Tool results, denial comments and tool exception text now reach a span only
as a capture-gated preview; span.error is a fixed message, since it is
stored and exported regardless of content settings. A turn whose stream
yields an error event is recorded as failed. Search traces are listed by a
query copied into the small summary column, so the Logs timeline never
reads the spans JSONB. Adds GraphRAG span tests.
This commit is contained in:
arc53-machine committed 2026-09-23 18:11:19 +01:00
1 parent 285fdc914c
commit efec1a2f83
9 files changed
+134 -13

No files matched your search

+7
View File
@@ -860,6 +860,13 @@ class BaseAnswerResource:
# error silently — the exact shape of the bug being fixed here.
if stream_error:
query_metadata.setdefault("error", stream_error)
# A yielded error (e.g. a failed workflow node) ends the
# generator normally, so no span raised; the user still saw
# the turn fail, and its trace should say so. A pause below
# overrides this, as it does for the message row.
trace = tracing.current_trace()
if trace is not None:
trace.outcome = tracing.STATUS_ERROR
# ---- Paused: save continuation state and end stream early ----
if paused: