Submitting work

How to push your work for grading

You write code in your own repository. Push it and grading starts on its own, with nothing to upload and no form to fill in. Pushing is the submission.

Name the repository like this

REQUIRED

Each unit gets its own repository. Include the unit id in the name so we know which unit a push belongs to.

keel-0.1-your-suffixUnit 0.1

The suffix is yours. Anything you like goes there.

Four steps, no waiting on a person

What happens after the push

Every submission goes through the same four steps in the same order.

  1. Step 1

    You push to main

    Commit your work and push it. That push is the submission.

    git add .
    git commit -m 'unit 3.2.1: reconcile invoice lines'
    git push origin main
  2. Step 2

    We accept the commit

    GitHub sends a webhook. We verify its signature and enqueue grading.

    keel: submission received for commit 4f2a1c9
  3. Step 3

    Automated checks run in isolation

    We clone your repository into a fresh, isolated run with nothing left over from anyone else. The unit's automated checks run against it.

    pytest -v tests/
  4. Step 4

    The rubric review reads your code

    We judge each criterion against the published rubric. Each one quotes the lines it relied on: no quote, no verdict.

    criterion 1: Passed

Four states, nothing hidden

What each status means

QUEUED

Your push arrived.

We recorded the commit. It waits in line to run, and nothing has run yet.

GRADING

Your code is running.

The automated checks execute first. Rubric review reads the same commit afterwards.

GRADED

There is a verdict.

Passed or Not yet. Every automated check and every rubric criterion quotes the lines it relied on.

ERROR

Grading stopped early.

The run broke, or you had spent your grading budget. We wrote no verdict, and this does not count as an attempt.

What is not here yet

  • There is no submit button because you submit by pushing. We would rather say so than build a button that just tells you to go and push.
  • We grade only written units. Phase 0 and unit 3.2.1 are open today. The rest is being written and shows as planned until it is ready.
  • We have not built the recorded walkthrough. No unit needs a video.

Accounts and payments

An account is free. An active subscription links your submissions to your grading record.