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

+8 -1
View File
@@ -167,7 +167,14 @@ class TestLogsTraceSummaries:
assert row["trace"]["ref"] == {"field": "activity_id", "value": "act-1"}
def test_search_traces_are_listed(self, app, pg_conn):
record = _trace(pg_conn, request_id=None, source="mcp", name="mcp", status="error")
record = _trace(
pg_conn,
request_id=None,
source="mcp",
name="mcp",
status="error",
summary={"llm_calls": 0, "query": "how do I deploy"},
)
_trace(pg_conn, request_id=None, source="graph_extraction", name="graph_extraction Docs")
search_rows = _logs(app, pg_conn, "owner", {"event_type": "search"}).json["logs"]
assert len(search_rows) == 1