# Enrich a table

Source: https://mostlyright.md/docs/build/enrich/

Use SQL for values a rule can determine: parse dates, normalize codes, join a published lookup and calculate units. Use a small model for judgments such as classifying free text, extracting structured fields or matching records.

## Discover what is available

```sh
mr-data models --json
```

The response lists tasks, whether each is served, and the available bindings with their route, pinned model, rate, usage and starting request body. Listing models spends no model call. Copy a returned binding rather than inventing a model name or route.

Before adding a model, define the input column, expected output, treatment of missing values and how you will check the answers. Apply deterministic rules first so only unresolved rows need a model call. A model's output is a proposed value, not verified evidence.

## Inspect an existing result

```sh
mr-data models suggest RUN_ID --json
```

This reads the run's sealed preview and proposes column-level improvements, including deterministic derivations and model calls. It reports whether the model is served. It changes no recipe and spends no model call. Confirm suggestions against the actual rows and source evidence.

Adding an enrichment changes the recipe digest. Rebuilding an existing table can reread paid upstream sources; forecast that work before starting it. Register the revised recipe, run it, inspect representative and suspicious rows, and check the output against the intended meaning.

For record matching with profiles and jobs, use the [matching CLI](/docs/reference/cli/match/). For the request source fields, read [sources](/docs/reference/sources/) and the current build skill's source-specific reference.
