Skip to content

feat: Week 10 assignment template (support files + stubs, no answers)#2

Merged
lassebenni merged 1 commit into
mainfrom
feat/week10-assignment-template
Jul 2, 2026
Merged

feat: Week 10 assignment template (support files + stubs, no answers)#2
lassebenni merged 1 commit into
mainfrom
feat/week10-assignment-template

Conversation

@lassebenni

Copy link
Copy Markdown
Collaborator

What

Template repo for the Week 10 dbt assignment (Daily Borough Stats Mart). Students generate their submission repo from this template, then build the dbt project themselves per the assignment chapter.

Design principle

The repo contains the support files around the dbt project, not the project itself:

  • No dbt_project.yml: creating it via dbt init is Task 1. The README documents the dbt init + move flow.
  • No pre-filled tests: packages.yml is an empty stub and the YAML schema files carry TODO comments where Task 5's tests go, so the autograder's points are earned, not shipped in the template.
  • TODO stubs for every other file in the chapter's project-structure block: staging/mart SQL, schema YAMLs, safe_divide macro, singular test, reports/answers.md, AI_ASSIST.md.
  • profiles.yml.example with env_var() references; profiles.yml is git-ignored and the grader flags it as a blocker if committed.

Autograder

  • .hyf/test.sh: static checks (file presence, secrets hygiene, SQL patterns, docs artefacts), 100 points, passing 60.
  • Verified ladder: bare template scores 20/100 (fail); a filled reference solution scores 100/100 (pass).
  • .github/workflows/dbt-parse.yml: on PRs, runs dbt deps + dbt parse with dummy credentials (no DB connection) once dbt_project.yml exists; warns-and-skips before Task 1 is done. Verified locally: parse exits 0 on the reference solution with dummy env vars.
  • .devcontainer/: python 3.11 + dbt-postgres preinstalled.

Replaces #1

#1 pre-filled dbt_project.yml, packages.yml, and the YAML test blocks, which leaks the answers to Tasks 1 and 5. The stub SQL/template files from #1 were solid and are reused here.

🤖 Generated with Claude Code

https://claude.ai/code/session_01C7Kww7NRmLURcEhXb1VS69

Template repo for the Week 10 dbt assignment (Daily Borough Stats Mart).
Contains everything around the dbt project the student builds:

- README: task-oriented setup guide (dbt init flow, connection, local
  grading, submission)
- TODO stubs for every file the assignment chapter's project-structure
  block names, except dbt_project.yml (creating it is Task 1) and with
  Task 5's tests deliberately NOT pre-filled (packages.yml empty, YAML
  test blocks replaced by TODO comments) so the grader's points are
  earned, not shipped
- .hyf/test.sh static autograder (verified ladder: bare stubs score
  20/100 fail, a filled reference solution scores 100/100 pass)
- .github/workflows/dbt-parse.yml: CI validates project structure and
  Jinja via dbt parse with dummy credentials once dbt_project.yml
  exists (no database connection needed)
- .devcontainer with python 3.11 + dbt-postgres preinstalled
- Removes the org-template task-1/ task-2/ placeholder dirs

Replaces PR #1, which pre-filled dbt_project.yml, packages.yml, and the
YAML test blocks (answer leakage for Tasks 1 and 5).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C7Kww7NRmLURcEhXb1VS69
@lassebenni lassebenni merged commit a7328bb into main Jul 2, 2026
1 check passed
@lassebenni lassebenni deleted the feat/week10-assignment-template branch July 2, 2026 07:47
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