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

# Annotation

> The editor annotators live in, statuses, filters, and the spreadsheet round-trip

Open a dataset for the annotation workspace: a row list on the left, the editor for the current row on the
right.

## The editor

| kind | what you do |
| - | - |
| `stt` | play the clip, fix the transcript, set the speaker role |
| `llm` | read the conversation, write or fix the agent's reply |
| `tts` | listen to the clip, rate its quality |
| `decision` | read the lead's journey and the new call, answer each question, mark the events that caused each answer, review the logged decision ([Decision gold sets](https://levers9.mintlify.site/lab/decision-gold-sets.md#the-annotation-screen)) |
| `sound` | listen to the clip, pick one answer with a number key ([Sound datasets](https://levers9.mintlify.site/lab/sound-datasets.md#the-annotation-screen)) |

Every save appends to `labels.tsv` and moves the row's status from **pending** to **validated**; **Flag** marks a
row that needs a second look. Model drafts sit in the editor as a starting point and are never overwritten by
the pipeline once a person has saved.

Keyboard, scoped to the editor so it never fights the browser:

| keys | action |
| - | - |
| `⌘ Enter` (Ctrl on Windows) | save and go to the next row |
| `⌘ .` | flag |
| `⌘ P` | play or pause the clip |

A sound dataset has keys of its own, because there a clip is answered with one key: `1` to `9` pick an answer,
`Space` plays the clip again, `X` plays only the sound, a track's first letter silences it, and `←` `→` go back
and skip ([Sound datasets](https://levers9.mintlify.site/lab/sound-datasets.md#the-annotation-screen)).

## Finding rows

Filter the list by status (pending, validated, flagged), page through it, or jump to a row by number or id.
The dataset header shows counts per status so a lead can see how far a batch has come.

## Spreadsheets

Some teams annotate in Sheets or Excel. **Export** downloads a TSV of every row with its current label and
status; edit anywhere, then **Import** the file back. The `validated` and `flagged` columns in the imported
file take precedence over the exported `status`, so a reviewer can flip states in bulk.

Your own export holds the text as it is. Under the dataset's
[Flag or Mask policy](https://levers9.mintlify.site/lab/personal-data.md#who-reads-the-text-off-flag-and-mask) it gains `pii_findings` and
`pii_types` columns, and a share link's export under Mask holds the masked text.

## Where the data is

`rows.tsv` and `labels.tsv` (plus clips) live under the dataset's folder on the `datasets` volume. Mount the
volume in a function to train on it, or download with `levers9 cp datasets/<name> .`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.