> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moda.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Traces

> Browse every ingested trace, and inspect a single trace as a full message timeline or as its extracted world state.

Traces (sidebar: Observe → Traces) lists every trace Moda has ingested and is the entry point for inspecting a single agent run turn by turn. A trace is the full record of one agent run — every message, tool call, thinking block, and step that shares one `conversation_id` (the trace ID) — whether or not a human was in the loop. New traces appear within seconds of sending data; analysis results attached to them (use case, world state, signals) fill in within minutes.

## Trace list

The list supports:

* **Search** — the "Search traces..." box filters the list.
* **Filters** — environment (Production / Development / Staging) and use case.
* **Time range** — All time, Last 24 hours, or Last 30 days.
* **Sort** — Newest first, Oldest first, Most messages, Fewest messages.
* **Pagination** — page sizes 10 / 25 / 50 / 100 with Previous / Next; the total count loads separately.

The first page refetches automatically every 15 seconds while the tab is visible, so new traces stream in without a manual refresh. Filters, sort, and page size are reflected in the URL, so a filtered view can be shared as a link. Arriving from a user's detail page pre-filters the list to that user; a chip above the table clears the filter.

### Columns

The **Columns** button shows or hides columns; column widths can be dragged. Preferences are saved in your browser.

| Column              | Shows                                                                                                                      | Visible by default |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------ |
| Trace               | Preview of the first message text.                                                                                         | Yes                |
| Processed           | Whether processing has completed (Processed / Unprocessed).                                                                | Yes                |
| Env                 | Environment badge (Prod / Dev / Staging).                                                                                  | Yes                |
| Messages            | Message count.                                                                                                             | Yes                |
| Use case            | The assigned use-case cluster.                                                                                             | Yes                |
| Last active         | Time of the most recent message.                                                                                           | Yes                |
| Trace ID            | The full trace ID (the `conversation_id` value).                                                                           | No                 |
| Use case confidence | Membership score for the use-case assignment.                                                                              | No                 |
| First active        | Time of the first message.                                                                                                 | No                 |
| Indexed             | When Moda first indexed the trace.                                                                                         | No                 |
| Processing          | Processing status badge.                                                                                                   | No                 |
| World state         | World-state build status: Ready when built, Stale when out of date, otherwise the in-progress status (Pending by default). | No                 |

Clicking a row opens the trace detail in a new tab.

## Trace detail

The header shows the trace ID, date, duration, and turn count, plus badges when they apply: a frustration score (shown when the score is 5 or higher), the tool-failure count, and the use case with its confidence. Previous / next links step through neighboring traces. A toggle switches between the two views: **Timeline** and **World State**.

While a trace is still mostly unprocessed, a strip lists the pending pipeline stages (`segmentation`, `world-state`, `cluster`, `frustration`); it disappears once most stages have completed.

### Timeline

Timeline is the raw record of the run: every message and content block in order.

Each row shows content appropriate to its type:

* **User messages** — the message content, rendered as markdown.
* **Agent responses** — the model and provider above the response text.
* **Thinking** — collapsed to a single expandable line.
* **Tool calls** — expandable input and result; failed calls are highlighted.

Every message has a copy button on hover. Messages that changed the tracked world state carry event chips; selecting a turn opens an inspector for that turn's state changes.

A filter rail on the left toggles block categories — Prompts, Agent Responses, Thinking, Tool Calls (with per-tool sub-filters), Images, Email, Call Transcripts — each with a count, plus **Clear Filters**.

When the trace carries signals, context banners appear above the timeline:

* **Tool Call Failure** — the tool name and error, with **Jump to failure**.
* **User Frustration Detected** — the score, trajectory, and primary cause, with clickable quotes that jump to the quoted turn.

Evidence links from [Signals](/dashboard/signals) and [Problems](/dashboard/problems) open the Timeline scrolled to the relevant turn or failed tool call.

### World State

World State shows what Moda extracted from the trace: the tasks the user pursued and the facts established along the way. It has two tabs.

**Tasks** lists the trace's task threads with a resizable detail pane. Each thread has a status (Open / Resolved / Cancelled) and can contain subtasks (Open / Done / Blocked / Cancelled). The detail pane shows a progression timeline of actions — Message, Tool call, Correction, Subtask opened, Subtask completed, Failure, Retry — and each step can jump back to the matching turn in the Timeline.

**Facts** lists the facts extracted from the trace; when the position is known, each fact is tagged with the turn where it was established.

Both tabs are searchable ("Search threads" / "Search facts"); Tasks additionally supports filtering by thread status, subtask status, and action type, and sorting by Most recent turn, Status, or Title (A→Z). While the build is in progress, a "Still building world state" banner shows partial results and updates live.

### User memory panel

At the top of the World State view, a collapsible **User memory** panel shows a persona document built from the user's messages — voice, decision style, and constraints. The panel header shows how many user messages have been folded in, and each observed trait carries a chip with its occurrence count and the last message where it appeared.

## OpenTelemetry span viewer

A standalone span viewer exists at `https://moda.dev/trace/<traceId>`. It renders the OpenTelemetry span tree for one OTLP trace ingested over `/v1/traces`, with a span detail pane, and supports a `?span=` parameter to deep-link a specific span. It is auth-gated and not linked from the sidebar — open it by URL when you have an OpenTelemetry trace ID. This is the per-call span view; the Traces page above is the run-level view.

## Next steps

* [Signals](/dashboard/signals) — the detections that produce the banners and badges on trace pages.
* [Use Cases](/dashboard/use-cases) — the clusters behind the Use case column.
* [Data API: traces](/data-api/traces) — fetch traces and world state programmatically.
