Skip to content

Hannah - #8

Open
hannahwn wants to merge 7 commits into
HackYourAssignment:mainfrom
hannahwn:main
Open

Hannah#8
hannahwn wants to merge 7 commits into
HackYourAssignment:mainfrom
hannahwn:main

Conversation

@hannahwn

Copy link
Copy Markdown

What I built

  • Airflow DAG: dags/taxi_pipeline.py (schedule, ingest_taxi_month → dbt_run → dbt_test, partition from logical date, retries)
  • Week 10 dbt project dropped into include/dbt_project/
  • Backfill + idempotency evidence (Task 5)
  • Operational notes: RUNBOOK.md
  • Assignment report: ASSIGNMENT_REPORT.md
  • (Target tier) namespaced DAG deployed to the shared class Airflow
  • AI usage: AI_ASSIST.md

How to review

  • DAG: read dags/taxi_pipeline.py (schedule, task order, catchup=False, retries, partition date).
  • Evidence: backfill / idempotency notes in ASSIGNMENT_REPORT.md; operations in RUNBOOK.md.
  • AI usage: AI_ASSIST.md.

How to run

From a clean clone, with the Astro CLI installed:

astro dev start
astro dev pytest tests/test_dag_integrity.py --args "-v"

Then open the UI URL, add the azure_pg connection (Admin → Connections), unpause taxi_pipeline, and trigger a run for a real month (e.g. 2024-01-01).

Prerequisite: your Week 10 dbt project in include/dbt_project/ and the azure_pg connection to the shared Postgres.

What reviewers should see (expected results)

Fill in what your run actually produces:

  • test_dag_integrity.py result: <e.g. all pass>
  • Task order in the Graph view: <e.g. ingest → dbt_run → dbt_test>
  • Backfill: <e.g. 7 runs green, re-run is idempotent (same row count)>
  • Deployed DAG name (Target tier): <e.g. taxi_pipeline_>

Known limitations / out of scope

  • <e.g. Target-tier deploy not attempted; retries set to 2>
  • Write "none" if everything in the assignment is done and working.

Self-check

  • bash .hyf/test.sh passes
  • astro dev pytest tests/test_dag_integrity.py passes
  • catchup=False and retries are set
  • No credentials committed (connections added in the UI, not in code)
  • Backfill / idempotency evidence is in ASSIGNMENT_REPORT.md

hannahwn and others added 2 commits July 24, 2026 01:45
…d fill docs

Co-authored-by: Cursor <cursoragent@cursor.com>
@lassebenni

Copy link
Copy Markdown
Contributor

Reopening to re-trigger grade workflow after checkout fix on main.

@lassebenni lassebenni closed this Jul 24, 2026
@lassebenni lassebenni reopened this Jul 24, 2026
Lasse Benninga and others added 2 commits July 24, 2026 10:56
Co-authored-by: Cursor <cursoragent@cursor.com>
Undoes the earlier maintainer fill-in of docs and _partition_date so the
autograder scores her own work again. Keeps the nested-submodule checkout
fix. Syncs .hyf/test.sh from main (report TODOs + screenshot presence).

Co-authored-by: Cursor <cursoragent@cursor.com>
@HackYourAssignment HackYourAssignment deleted a comment from github-actions Bot Jul 24, 2026
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Missing <3 screenshot images now forces pass=false (blocker).

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown

📝 HackYourFuture auto grade

Assignment Score: 82 / 100 ❌

Status: ❌ Not passed
Minimum score to pass: 60
🧪 The auto grade is experimental and still being improved

Test Details

=== Week 12 Autograder — Orchestrated Pipeline ===
  ✓ PASS  found dags/taxi_pipeline.py
  ✓ PASS  found tests/test_dag_integrity.py
  ✓ PASS  found requirements.txt
  ✓ PASS  found RUNBOOK.md
  ✓ PASS  found ASSIGNMENT_REPORT.md
  ✓ PASS  found AI_ASSIST.md
  ✓ PASS  Level 1: required files (20/20 pts)
  ✓ PASS  dags/taxi_pipeline.py: no NotImplementedError stubs left
  ✓ PASS  dags/taxi_pipeline.py: defines a @dag with tasks
  ✓ PASS  Level 2: DAG implemented (15/15 pts)
  ✓ PASS  dags/taxi_pipeline.py: ingest, dbt_run, and dbt_test all present
  ✓ PASS  dags/taxi_pipeline.py: tasks are chained with >>
  ✓ PASS  Level 3: sequential tasks (20/20 pts)
  ✓ PASS  dags/taxi_pipeline.py: dbt runs through uvx (works on the image's Python 3.14)
  ✓ PASS  dags/taxi_pipeline.py: retry behaviour configured (retries=...)
  ✓ PASS  Level 4: uvx dbt + retries (20/20 pts)
  ✗ FAIL  dags/taxi_pipeline.py: no {{ ds }} / logical_date / get_current_context found — partition must come from the run date
  ✓ PASS  dags/taxi_pipeline.py: catchup=False and max_active_runs set
  ✓ PASS  Level 5: parameterized runs (5/15 pts)
  ✗ FAIL  RUNBOOK.md: still a template (318 chars, 0 TODO marker(s)) — fill in all four sections
  ✗ FAIL  AI_ASSIST.md: still a template (204 chars, 0 TODO marker(s))
  ✓ PASS  ASSIGNMENT_REPORT.md: filled in (807 chars, no TODO left)
  🚫 BLOCKER  screenshots: none found — commit Graph, Grid/run, and task-log images into the PR (any folder). Screenshots are required; a high code score without them still fails.
  ✓ PASS  Level 6: documentation + screenshots (2/10 pts)

🚫 A blocker was found -- forcing pass=false regardless of score.
Score: 82 / 100  (passing: 60)  pass=false

Reminder: screenshot *content*, shared-Airflow deploy proof, and before/after
row counts are still teacher-reviewed. Autograder green is not a pass — a
high static score is necessary but not sufficient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants