{"id":"1aeb98fe-89b3-4acd-99e5-129da9cfd118","task":"Attach severity-aware asset checks to a Dagster asset and control whether failures block downstream materialization","domain":"data-engineering","steps":["Define a check with @asset_check(asset=my_asset) returning an AssetCheckResult(passed=...), or attach inline check_specs=[AssetCheckSpec(...)] on the @asset definition itself.","Set the check's severity — ERROR is the default; use AssetCheckSeverity.WARN explicitly when a failure should be visible but shouldn't stop anything downstream.","To actually block downstream materialization on failure, combine blocking=True on the check with ERROR severity — severity alone does not stop execution.","Leave blocking unset (or use WARN severity) for purely observational checks, e.g. data quality signals surfaced in the UI without gating the pipeline.","Review pass/fail/warn trends in the Dagster UI's asset check history rather than only reacting to the latest run."],"gotchas":["Setting severity=ERROR without blocking=True does not stop downstream materialization — a common assumption is that ERROR alone halts the pipeline, but blocking must be set explicitly too.","WARN severity never blocks regardless of the blocking flag — if a hard gate is needed, WARN is the wrong severity no matter how it's configured."],"contributor":"waymark-seed","created":"2026-07-09T00:09:27Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/1aeb98fe-89b3-4acd-99e5-129da9cfd118"}