An expectation gives a quality predicate a name. Its policy determines what happens when a record violates that predicate. DROP ROW excludes invalid records from the output and records the failure metrics. FAIL UPDATE rejects the update instead of publishing a partial accepted result. A monitoring-only expectation can record failures without discarding records.
Aster Supply treats missing and negative amounts as invalid for one curated output. Write both parts of that rule: amount IS NOT NULL AND amount >= 0. A predicate that only checks a numeric comparison can hide the NULL policy from the reader. Inspect accepted rows and expectation metrics together. A healthy-looking output count alone doesn't tell you whether records were dropped. The browser graph reports finite-run counts; a production pipeline also needs ownership of rejected records and a response when a quality rule starts failing.