# RunKind

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.runkind/
> Summary: RunKind: Reports what a runs row records.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

Reports what a `runs` row records.

```csharp
[JsonConverter(typeof(JsonStringEnumConverter<RunKind>))]
public enum RunKind
```

## Fields

`Agent = 0` 

The run of a single agent.

`Eval = 2` 

The run of an eval case. A normal `runs` row for
transcript and span-tree access, but
[IRunStore.GetStatisticsAsync](/api/tracon.irunstore/#Tracon_IRunStore_GetStatisticsAsync_Tracon_RunStatisticsQuery_System_Threading_CancellationToken_) excludes this kind from the
summary — it is a synthetic test call, not real traffic.

`Workflow = 1` 

The run of a workflow. Every agent called inside it is linked under
this row through the `parent_run_id` mechanism.

## Remarks

A separate table is **not opened** for workflow runs. The
runs screen, the SSE stream, tenant filters, statistics, and the waterfall
are already built on top of `runs`; a second recording path would
double all of them. The distinction is made through this column instead.

Written **as a name** in JSON; stored as `smallint` in
the database. The value order must not change.
