GitHub grades this project without waiting for a KODE Ń VIBE reviewer.
- PASS — Nailed it: every required check passes in one run.
- REVISE — Keep building: one or more required checks fail.
There is no averaging and no partial-pass score. Do not delete, skip, rename, or weaken a check. Fix the project, push again, and GitHub creates a new grade for that commit.
- On the KODE Ń VIBE starter, choose Use this template to create your own repository.
- Create an attempt branch, for example
git switch -c attempt/study-planner. Keep the untouched starter onmain. - Build the acceptance checks, commit, and push the attempt branch. GitHub Actions
starts the grade automatically; opening or updating a pull request to
mainis graded too. - Open Actions → Automated project grade. Read the failed test names and logs if the result says REVISE.
- When the job summary says PASS — NAILED IT, save that run link as evidence.
Every repository's main branch is intentionally quiet, so unfinished starter code
does not send false failure alerts. Grading starts automatically when you push an
attempt branch or open a pull request to main.
From the repository root, run:
python3 -B -I tests/run_tests.pyEvery check must pass without skipping, deleting, or weakening a check.
- Unfinished topics, unique tags, and minute totals follow the documented data rules.
- Session fitting respects order and the available-minute boundary.
- Returned tasks and tag lists do not alias or mutate the original plan.
- Invalid records and limits fail with messages that name the bad field.
The test names are the grading rubric; a failed name identifies what to revise.
No reviewer is required for the automated pass. These checks are still useful because automated tests cannot see every real-use or readability problem:
- Run
python3 study_planner.py; the fitted session stays within the printed time limit. - Mark every sample task done; unfinished topics and the fitted session are empty.
- Add the same tag with different capitalisation; the displayed tag set still has one normalised value.
- Change a tag inside the fitted result and confirm
SAMPLE_TASKSis unchanged.
Use these prompts to check your own understanding. They do not need a reviewer and they do not change the GitHub grade.
- Why is the whole plan a list while one task is a dictionary and the tag result is a set?
- What aliasing bug could occur if
fit_sessionreturned the original dictionaries? - How does the loop decide whether to include, skip, or ignore each task?
GitHub keeps the commit, logs, and grade automatically. Save only:
- the commit SHA;
- the successful Actions run URL; and
- one sentence about what you would improve next.
PASS means every published requirement checked by this project passed on one revision. It is formative evidence, not a certificate or proof of independent authorship. A learner controls their copy and can edit visible tests or workflows, and automation cannot prove complete usability, durable understanding, or professional readiness. Keep the supplied checks unchanged if you want the result to remain meaningful.