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

# Transcription fixes

> Teach the AI your domain vocabulary so it stops mishearing your jargon.

Speech-to-text models are good but not perfect, and they get particularly confused by domain-specific words: product names, internal acronyms, unusual surnames. The Transcription panel is a small dictionary of corrections Runwita applies to every transcript before it goes to the AI.

## How it works

You give Runwita a list of "this might be misheard as X, Y, or Z, replace it with the correct word". Each row is one entry:

* **Mishearing**, pipe-separated alternatives the speech-to-text model might produce. Case-insensitive.
* **Replacement**, the correct word.

For example, if your team's product is called *"Lumen"* and transcripts keep coming through as *"Lumin"*, *"Lemon"*, or *"Lumens"*:

| Mishearing             | Replacement |
| ---------------------- | ----------- |
| `Lumin\|Lemon\|Lumens` | `Lumen`     |

Whenever Runwita ingests a new transcript, it scans for any of those mishearings and replaces them with the correct word *before* sending the text to the AI for extraction. The AI then sees clean text and produces clean output.

## When to add an entry

The signal is when you see the same wrong word in multiple transcripts and you have to mentally translate every time. Two telltales:

1. The transcript pane shows wrong words (you'll see the raw mishearing on the source side).
2. The extracted brief reflects the mishearing back at you (e.g. *"Lumin's launch timeline"* instead of *"Lumen's launch timeline"*).

Both signals say: this is a recurring confusion, fix it once.

## How transcription flags work

When Runwita applies a correction, it logs it as a *transcription flag* on the resulting engagement. You'll see flags listed at the top of the Review screen, transparency about what was changed before the AI saw it. You can verify the correction was right; if it was wrong (false positive), you can adjust the dictionary entry.

## Dictionary tips

A few things that'll make the dictionary more useful:

**Order matters less than you think.** Runwita applies replacements in a single pass, longer patterns first. So `Lumen's` matches before `Lumen`.

**Case-insensitive.** The pattern matches lowercase and uppercase. You don't need to add both *"lumen"* and *"Lumen"*.

**Substring not whole-word.** *"Lumen"* matches *"Lumen said"*. So if your replacement could clash with a real word (someone's actual name is Lumen), be careful, you might want a more specific pattern like `Lumen said|Lumen mentioned` to avoid false positives.

**Acronyms with spaces.** Speech-to-text often inserts spaces in acronyms. *"K P I"* might come through as `K P I` or `KPI`, you'd want to add `K P I` as a mishearing for `KPI`.

**Names.** Surnames are the most common culprit. *"Petrescu"* might come through as *"Petrescue"* or *"Petrescue's"*.

## Example dictionary

A small dictionary from a fictional product team:

| Mishearing                         | Replacement |
| ---------------------------------- | ----------- |
| `Lumin\|Lemon\|Lumens`             | `Lumen`     |
| `K P I\|kpi's`                     | `KPI`       |
| `Petrescue\|Petrescue's\|Petresco` | `Petrescu`  |
| `nudge bar\|Nudgebar`              | `NudgeBar`  |
| `O K R\|Okay R\|OKR's`             | `OKR`       |

Five entries are usually enough to cover the day's transcription mistakes.

## Limits

This is a flat string-replacement dictionary. It's not regex (yet) and it's not context-aware. If your replacement clashes with a legitimate use of the word elsewhere, you'll get unwanted edits. The flagging at the top of the review screen is your safety net, scan it when something looks off.

Regex support and per-journey dictionaries are on the roadmap.
