Skip to content

feat: scaffold Week 10 assignment - Daily Borough Stats Mart with dbt#1

Closed
lassebenni wants to merge 1 commit into
mainfrom
feat/scaffold-week10-assignment
Closed

feat: scaffold Week 10 assignment - Daily Borough Stats Mart with dbt#1
lassebenni wants to merge 1 commit into
mainfrom
feat/scaffold-week10-assignment

Conversation

@lassebenni

Copy link
Copy Markdown
Collaborator

Summary

  • Students build a dbt Core project producing a mart at grain (pickup_borough, pickup_date) for January 2024 NYC Green Taxi data
  • Static-analysis autograder (no live DB required in CI) verified end-to-end

Autograder results

Repo Score Pass
Bare scaffold 25/100 false
Working solution 100/100 true

Scoring ladder

Score Gate
10/100 Required files exist (dbt_project.yml, packages.yml, models, tests, reports, AI_ASSIST.md)
25/100 .gitignore excludes profiles.yml; profiles.yml.example uses env_var()
45/100 Staging: source() refs, NULL + negative-fare filters, tip_pct column
65/100 Mart: JOIN to zones, GROUP BY borough+date, 6 required output columns
80/100 Tests: dbt_utils compound uniqueness + not_null YAML + singular test
90/100 Docs: grain stated in model description, column descriptions filled
100/100 reports/answers.md (4 SQL blocks) + AI_ASSIST.md filled

Passing score: 60/100.

Test plan

  • Scaffold: 25/100, pass=false
  • Solution: 100/100, pass=true
  • Grader runs without live DB (static analysis only)
  • profiles.yml excluded from .gitignore
  • profiles.yml.example uses env_var() references

🤖 Generated with Claude Code

Students build a dbt project (nyc_taxi_borough_daily) producing a mart
at grain (pickup_borough, pickup_date) for January 2024 NYC Green Taxi data.

Autograder verified end-to-end:
- Solution: 100/100, pass=true
- Bare scaffold: 25/100, pass=false

Scoring ladder:
- 10pts: required files exist
- 25pts: secrets hygiene (.gitignore, env_var)
- 45pts: staging models (source refs, filters, tip_pct)
- 65pts: mart (JOIN, GROUP BY, 6 output columns)
- 80pts: tests (compound uniqueness, not_null, singular)
- 90pts: docs (grain + column descriptions)
- 100pts: reports/answers.md + AI_ASSIST.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lassebenni

Copy link
Copy Markdown
Collaborator Author

Closing in favour of #2. This scaffold pre-filled dbt_project.yml, packages.yml, and the YAML test blocks, which leaks the answers to Task 1 (dbt init) and Task 5 (tests) of the assignment chapter — the chapter's design is that students create those themselves. The TODO-stub SQL and template files from this PR were solid and have been reused in #2, which also adds the missing CI (dbt parse check), devcontainer, and removes the org-template task-N placeholder dirs.

@lassebenni lassebenni closed this Jul 2, 2026
@lassebenni lassebenni deleted the feat/scaffold-week10-assignment branch July 2, 2026 07:44
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.

1 participant