Skip to content

Expected Schema Check FAQ

Answers to common questions about how the Expected Schema check reads a container's structure, what the extra-fields toggle changes, and how anomalies are reported, grouped by topic.

Behavior

Does the check look at the data?

No. It reads the container's fields and their declared types. No value is evaluated, which is why the rule has neither a filter nor a coverage setting.

What does Allow other fields do?

On, columns outside the declaration are tolerated and only the declared ones are asserted. Off, the container must hold exactly the declared set, so any extra column fails the check.

Will it catch a renamed column?

Yes, as a missing declared field. With Allow other fields off, the new name is additionally reported as an undeclared column.

Will it catch a type change?

Yes. That is the main thing Expected Schema adds over Field Count, which only compares how many columns exist.


Anomaly Reporting

What does the anomaly report?

A single Shape Anomaly stating that the container does not match the declaration, naming what did not line up: a missing field, a type mismatch, or an undeclared column.

Does Expected Schema produce Record Anomalies?

No. The rule is Shape-only: the violation belongs to the container.

Does Custom Anomaly Description work for Expected Schema?

No. The option replaces the message on Record Anomalies, and this rule emits a Shape Anomaly only.

Are there source records on the anomaly?

No. Nothing is evaluated per row. Review the container's field list and declared types instead.


Configuration

Can I change the declaration on an existing check?

Yes. In the UI, open the check, change the declared Fields or the Allow other fields toggle, and click Update; see Edit a Check for the full steps. Through the API, a PUT to /api/quality-checks/{id} updates properties; it requires description and the complete properties object. The rule type and the target container stay immutable.

What permission do I need to create or edit an Expected Schema check?

The Drafter team permission on the datastore covers Draft work (creating a check as Draft or editing it while it stays Draft). Anything that puts the check into evaluation, such as creating or editing an Active check, archiving, or deleting, requires the Author team permission (or above). Viewing only requires Reporter. See Permissions for the full matrix.

Should I use Expected Schema or Field Count?

Both, usually. Field Count is a cheap tripwire for additions and removals; Expected Schema is the precise contract, catching renames and type changes that leave the count intact.

How is Expected Schema different from Is Type?

Expected Schema asserts the declared type of a column. Is Type asserts that the values in a text column can be read as a given type. The first is about the contract, the second about the content.