# Datasets

Datasets in the current Provon implementation are workflow-produced artifacts.

The implemented dataset operation is:

```text
dataset.example.extract
```

It materializes a regression example from trace evidence or upstream workflow output.

## Inputs

The operation needs a trace or span subject. It can receive that subject directly or through
upstream workflow context:

- trace reference;
- span reference;
- evaluation score or judgement reference;
- evaluation-created Finding reference.

Execution requires a `traceId` or `spanId`. If neither is available, the workflow step fails.

## Output Record

The operation emits a `dataset_example` data record:

```json
{
  "kind": "dataset_example",
  "fields": {
    "traceId": "trace_123",
    "spanId": "span_123",
    "input": "observed input text",
    "output": "observed output text"
  }
}
```

The record includes workflow metadata and a dedupe key based on the trace/span subject.

## Where Records Go

Dataset examples are useful when an Automation writes structured records to an external destination
such as Notion, Lark Base, monday.com, or Airtable. Provon does not make those external tables the
canonical Finding store.

## Relationship To Diagnostics

Diagnostic Rules and Findings remain the canonical trace-to-repair path. Dataset examples are
supporting artifacts for regression analysis, evaluator development, or downstream workflow steps.

## Related Pages

- [Capabilities](./capabilities.md)
- [Evals](./evals.md)
- [Findings](./findings.md)
