Quality and variety · Autessa Synthetic Data
Validation and automatic repair
Autessa Synthetic Data validates every generated row against your column types. It converts values where that is safe, gives invalid rows one repair round, tops up a short batch, and drops anything that still does not fit, so only rows that match your columns are staged or written.
The problem
Language models make plausible mistakes
A model asked for an integer might write "42 seats", invent a status your app does not accept, or skip a required field. If those rows reach a table, the demo breaks or the test fails for the wrong reason.
What you get
- Safe conversions: numeric strings to numbers, "yes" and "true" to booleans, select values matched regardless of case.
- Strict where data would be wrong: empty required fields, out-of-range numbers and unknown select values are rejected.
- Over-length text is trimmed to the limit rather than rejected.
- One repair round sends invalid rows back with their errors; one top-up call fills a shortfall.
- Each batch reports how many rows were rejected.
- Media columns are never generated and always skipped.
How it works
How does validation and automatic repair work?
Generate
One model call produces a batch of candidate rows sized to your columns.
Check and convert
Each row is checked against the frozen column list and safely converted where possible.
Repair
Rows that fail are sent back once with what was wrong.
Top up
If the batch is still short, one extra call asks for the missing rows.
Accept or drop
Valid, unique rows are staged or written; the rest are counted as rejected.
Every option
What is checked
| Option | What it does |
|---|---|
| Types | Every value must match its column type. |
| Required | Required columns must have a value. |
| Number ranges | Minimum and maximum values from the table schema. |
| Text length | Minimum length is enforced; text over the maximum is trimmed. |
| Allowed values | Single and multi select values must be in the allowed list (case-insensitive match). |
| Repair budget | Up to two extra calls per batch: one repair, one top-up. |
Permissions
Who can do what?
| Who | Can |
|---|---|
| People in your company | Create datasets, see the company list of jobs, open any job and review, approve, append, cancel or discard it. |
Where AI does the work
How the generator handles this
Repair is a second model call that receives the invalid rows together with the specific errors, which fixes most problems without regenerating the whole batch.
Generation runs on your company default model, and every row is checked against your columns before it is staged or written.
Your model and PII stripping →Connected
How validation and automatic repair connects to the rest of Autessa
FAQ
Questions about validation and automatic repair
What happens to rows that still fail after repair?
They are dropped and counted as rejected on the batch. If too many batches in a row produce no valid rows, the job stops with the rows it has and explains why.
Does validation slow generation down?
Barely. Checks run locally on each row; only invalid rows trigger an extra model call.
Can a job end with fewer rows than I asked for?
Yes, as "Partially completed", with the reason listed. Append more rows to make up the difference.
100% customizable, code and all
Make Autessa Synthetic Data fully your own.
Use it out of the box, then change anything. Ask Autobot, Autessa’s AI builder, for a new field, screen, report, workflow or agent and it builds it into your copy of the app. Or open the code and edit it yourself. Nothing is locked: the app, its data and its code are yours.
Start free and make it yours