Classroom assignment provisioning: 37% failure rate across 2,589 acceptances this semester — mechanism and evidence #192769
Replies: 1 comment
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Bug
💬 Feature/Topic Area
GitHub Classroom
Hi everyone,
Hi — I run an undergrad coding course at an engineering college with 5 sections and ~180+ enrolled students across introductory Python and numerical methods. I use GitHub Classroom to distribute ~10 assignments per section per semester, and I track every acceptance via an actions-collector script that snapshots repo state.
This semester (2026 spring) I'm seeing a provisioning failure rate high enough that I want to surface it to the community, because the student-facing effect is visible and the fix (repeated re-accepting → duplicate
-Nrepos → manual instructor cleanup) is burning real hours.The numbers
Across 2,589 assignment acceptances in 5 cohorts this semester:
On individual assignments the failure rate exceeds 50% — including on recent prompt-only and optimization assignments.
What's mechanically happening
After a student clicks "Accept assignment", GitHub Classroom appears to run three sequential writes:
REAME.mdon the new repo)PUT /repos/{org}/{repo}/collaborators/{login})Steps 2 and 3 seems to be the failure points. Every one of 103 confirmed orphan repos in one of my cohorts this week shows the same fingerprint:
shafrom the starter template at release timegithub-classroom[bot], message is "Initial commit"So step 2 never ran (no due-date commit ever appeared), and step 3 never added the student. The student sees an inaccessible empty repo, clicks Accept again, and GH Classroom generates
<username>-1, then-2, etc. — each retry running through the same flaky pipeline.Instructor-side cost
Roughly 500 manual repo deletions this 1/2 semester to keep the cohort rosters interpretable.
Asks
-Nsuffix wins, with carry-over of student commits — and Classroom already has the data to do it.Beta Was this translation helpful? Give feedback.
All reactions