gulliver_check
Run data quality checks—unique keys, not-null, accepted values, ranges, freshness and row counts—on a table or query in one budget-checked scan, so you can trust data after a load.
Instructions
Data quality checks on one table or query, all in one aggregate scan (budget-checked, over budget returns block): unique keys, not-null, accepted values, numeric ranges, freshness, min rows and row-count change since the last check. Every check runs and is reported; status 'fail' means at least one failed. It stores the row count in the local .gulliver folder for the next max_change_pct comparison. Give at least one check. Use it after a load or before trusting data; use gulliver_diff to compare two versions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fresh | No | 'column=24h': newest value must be at most this old. | |
| where | No | Optional filter, e.g. "ts >= '2026-01-01'" (needed on partitioned tables). | |
| ranges | No | 'column=min:max' (either side may be empty). | |
| target | Yes | Table name or a SELECT to check. | |
| unique | No | Keys that must be unique; 'a,b' for a composite key. | |
| accepted | No | Allowed values per column, as 'column=a|b|c'. | |
| min_rows | No | Fail when fewer rows. | |
| not_null | No | Columns that may not contain NULL. | |
| connection | No | Connection name as listed by gulliver_status (from gulliver.toml or GULLIVER_DSN). Omit for the default connection. | |
| max_change_pct | No | Fail when the row count moved more than this percent since the last check. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| next_step | Yes |