Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build a scheduled, tested pipeline. Requirements: use an ORCHESTRATOR (Airflow, Dagster, or Prefect) to run a DAG (ingest -> transform -> test) on a schedule with RETRIES; do the transformations in dbt with staging + mart models wired by `ref()` (so dbt builds a dependency DAG); add dbt TESTS (unique / not_null / relationships) plus at least one freshness or volume check that gates the build; store data as Parquet (or in a warehouse) and justify a partitioning choice; and keep tasks IDEMPOTENT so backfills are safe. Explain how your DAG separates orchestration (sequencing/retrying) from the compute it triggers.
A scheduled DAG (Airflow/Dagster/Prefect) with dependencies + retries; idempotent tasks that make backfills safe.
Staging + mart models wired by ref(); dbt tests plus a freshness/volume check that gate the build.
Parquet/warehouse with a justified partitioning choice; a clear explanation of orchestration-vs-compute separation.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# An orchestrated, tested pipeline with dbt ## Goal Build a scheduled, tested pipeline. Requirements: use an ORCHESTRATOR (Airflow, Dagster, or Prefect) to run a DAG (ingest -> transform -> test) on a schedule with RETRIES; do the transformations in dbt with staging + mart models wired by `ref()` (so dbt builds a dependency DAG); add dbt TESTS (unique / not_null / relationships) plus at least one freshness or volume check that gates the build; store data as Parquet (or in a warehouse) and justify a partitioning choice; and keep tasks IDEMPOTENT so backfills are safe. Explain how your DAG separates orchestration (sequencing/retrying) from the compute it triggers. ## Acceptance criteria - [ ] Orchestration: A scheduled DAG (Airflow/Dagster/Prefect) with dependencies + retries; idempotent tasks that make backfills safe. - [ ] dbt modeling & tests: Staging + mart models wired by ref(); dbt tests plus a freshness/volume check that gate the build. - [ ] Storage & rigor: Parquet/warehouse with a justified partitioning choice; a clear explanation of orchestration-vs-compute separation. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.