Skip to main content
Adding a dataset from the global Datasets page ingests and stores it, but that flow has no selected metric and does not run the complete metric-aware contract. Luna Studio applies the checks below when you add or select a dataset in the run wizard, where it knows the metric and whether the data is a test set, labelled training set, or unlabelled source for labelling. An upload can therefore succeed on the Datasets page and later fail validation when you use it in a run.

What Luna Studio checks

Schema checks

  • The stored file parses as CSV. The source picker accepts JSONL during ingestion, but current run validation reads it as CSV, so JSONL is not supported end to end.
  • Required columns are present:
    • Test sets — metric-specific feature columns and label.
    • Training sets — metric-specific feature columns and optionally label when applicable.
  • Column types match the metric’s output type. Boolean labels must be integers: 0 or 1.

Content checks

  • File encoding (UTF-8 expected).
  • Test sets have at least 300 rows total and at least 100 examples per class.
  • Labelled training sets have at least 2,000 rows total and at least 100 examples per class.
  • Empty rows or empty cells.

File checks (uploads and URLs)

  • Browser upload size is no more than 20 MiB.
  • For URLs: the scheme is HTTP(S), every host and redirect is publicly reachable, and the response returns successfully.

Common errors

Where to go next

Add a dataset

Walk through the three sources.

Troubleshooting

Run-time failures and how to recover.