Contract creation
1
Choose the subject
Select a table, topic, or pipeline output stage the contract governs.
2
Define schema rules
Specify columns, types, keys, allowed enums, and null constraints. Import from Avro/JSON Schema/SQL DDL when supported to avoid transcription errors.
3
Add quality checks
Layer row-level rules (for example,
amount >= 0, country in ISO set) beyond raw types.4
Set severity
Decide whether violations fail the pipeline, quarantine rows, or only emit warnings to diagnostics.
5
Publish
Version the contract; consumers pin to a version until they opt into upgrades.
Schema validation
During runs, Planasonix compares incoming batches to the contract:- Additive changes (new nullable columns) often pass automatically when policy allows.
- Breaking changes (type narrowing, dropped columns) fail fast or require a new contract version.
- Producer-driven
- Consumer-driven
Owning teams update contracts when they ship schema changes; CI blocks merges that skip contract bumps.
Violation tracking
The violations view lists timestamps, rule names, sample offending rows (redacted per policy), and pipeline runs. Export violations for incident tickets or compliance evidence.Enforcement
Enforcement hooks include:- Failing the pipeline before writes commit
- Writing bad rows to a quarantine table or dead letter queue
- Emitting alerts to Notifications channels
Lake write enforcement
Contracts can be assigned to Managed Lakehouse destination nodes to validate every record before writing to Iceberg and Delta tables. This is configured in the pipeline canvas under the destination’s Advanced Settings.Enforcement modes on lake writes
How it works
- Each incoming batch is validated against the assigned contract
- In warn mode, all records are written and violations are logged
- In block mode, the batch is split — valid records commit to the lakehouse, invalid records are sent to the DLQ with the original payload, failed rule name, and expected vs actual values
DLQ routing
When enforcement mode isblock, rejected records appear in the DLQ page and include:
- Original record payload
- Contract ID and version
- Failed rule name with expected vs actual
- Pipeline run ID for traceability
Contract Enforcement on Lake Writes
Full guide to contract configuration and the partition advisor
Related topics
Data catalog
Document datasets contracts protect.
Impact analysis
See who breaks when contracts change.
Dead letter queue
Triage contract-failed records from lake writes.