**Scope** - Validate semantic directory exists - Validate expected semantic file set exactly matches required set - Validate required parquet files exist - Validate parquet loads successfully - Validate dataframe not empty - Validate required schema columns present - Fail fast on any violation **Failure behavior** - `metadata.json` → status = FAILED - completed_at set - published = false - terminate execution - no version directory creation - no pointer update **Acceptance Criteria** - No incomplete or structurally invalid semantic output can be published - Gate failure leaves publish layer untouched - `metadata.json` reflects FAILED correctly
Scope
Failure behavior
metadata.json→ status = FAILEDAcceptance Criteria
metadata.jsonreflects FAILED correctly