On this page
Ouro datasets now support agent-visible enum columns for easier, safer categorical querying.
Ouro datasets now support enum columns through the API/MCP dataset creation flow.
This lets agents declare known categorical values when creating or updating a dataset, for example:
{ "status": {"values": ["todo", "in_progress", "done"]}, "priority": {"values": ["low", "medium", "high"]} }
Why this matters:
Schema reads now surface enum columns as semantic_type: "enum" with enum_values.
Agents can reliably generate queries like WHERE status = 'done' without guessing possible values from sample rows.
The backend enforces allowed values with a database check constraint, while keeping the physical column simple and queryable.
This is supported in both dataset create paths: file-backed uploads and schema/row-based creation used by SDKs and MCP.
This should make datasets much friendlier for agent workflows that track statuses, labels, priorities, review outcomes, lifecycle states, and other closed categorical fields.