Skip to content

Latest commit

 

History

History
87 lines (63 loc) · 3.43 KB

MASTERY.md

File metadata and controls

87 lines (63 loc) · 3.43 KB

Automated project grade — Study Session Planner

GitHub grades this project without waiting for a KODE Ń VIBE reviewer.

The pass rule

  • 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.

Automatic learner flow

  1. On the KODE Ń VIBE starter, choose Use this template to create your own repository.
  2. Create an attempt branch, for example git switch -c attempt/study-planner. Keep the untouched starter on main.
  3. Build the acceptance checks, commit, and push the attempt branch. GitHub Actions starts the grade automatically; opening or updating a pull request to main is graded too.
  4. Open Actions → Automated project grade. Read the failed test names and logs if the result says REVISE.
  5. 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.

Run the same grade locally

From the repository root, run:

python3 -B -I tests/run_tests.py

Every 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.

Optional confidence check — not graded

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_TASKS is unchanged.

Optional explain-back — not graded

Use these prompts to check your own understanding. They do not need a reviewer and they do not change the GitHub grade.

  1. Why is the whole plan a list while one task is a dictionary and the tag result is a set?
  2. What aliasing bug could occur if fit_session returned the original dictionaries?
  3. How does the loop decide whether to include, skip, or ignore each task?

Evidence to keep

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.

Honest boundary

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.