{% extends "base.html" %} {% block title %}Rule Engine{% endblock %} {% block heading %}Rule Engine{% endblock %} {% block content %}

Define data quality checks and transformations applied at each pipeline stage.

Rule Categories

{% set categories = [ ("Quality Checks", ["not_null","unique","regex","range_check","allowed_values"], "red"), ("Transformations", ["type_cast","rename","derive","trim_whitespace","fill_null"], "blue"), ("Cleanup", ["drop_column","custom_sql"], "slate"), ] %} {% for cat, types, color in categories %}

{{ cat }}

{{ types|join(', ') }}

{% endfor %}
{% if cfg.rules %}
{% for rule in cfg.rules|sort(attribute='order') %} {% endfor %}
Rule Type Applies To Column On Fail Status

{{ rule.name }}

{% if rule.description %}

{{ rule.description }}

{% endif %}
{{ rule.rule_type.value }} {{ rule.applies_to }} {{ rule.column or "—" }} {{ rule.action_on_fail.value }} {{ "Active" if rule.enabled else "Off" }}
{% else %}

No rules configured

Add quality checks and transformations to protect your data pipeline.

{% endif %}

Recommended Starter Rules

{% set suggestions = [ ("No null primary keys", "not_null", "Critical — prevents orphaned records"), ("Unique business keys", "unique", "Prevents duplicates in dimension tables"), ("Valid email format", "regex", "^[^@]+@[^@]+\\.[^@]+$"), ("Trim whitespace", "trim_whitespace", "Cleans leading/trailing spaces from text"), ("Fill null amounts with 0", "fill_null", "Default numeric nulls to 0"), ("Date range check", "range_check", "Catch dates outside expected range"), ] %} {% for name, type, desc in suggestions %}
{{ type }}

{{ name }}

{{ desc }}

{% endfor %}
{% endblock %}