Walk me through a complex Airflow DAG you built for Conversant. How did you handle dependencies and error handling?