The Classroom Layer Shut Down. Here Is What Educators Actually Lost.
On 28 August 2026 the classroom layer that sat on top of a code host was decommissioned. The website and the APIs are off; the REST endpoints answer 410 Gone. The metadata that was still held there — the part that never lived in anybody's repository — is deleted on 4 September 2026.
We are not naming the product. Naming it would turn a post-mortem into capture marketing, and our own rules forbid naming a competitor on a public page. Anyone this happened to already knows which product this is, and the dates are unambiguous.
Read this knowing we are not neutral. We build in the same category. Everything below is reconstructed from the public decommission notice and from our own internal design record — not from anything we were told privately, and not from access we had. Where we are guessing, we say so.
Start with the loss, because the loss is the story
Four kinds of thing are permanently deleted, and no vendor can bring them back — not us, not anyone:
1. Classroom and assignment names. The structure of the course as it was expressed in the product.
2. Tests defined outside repositories. Autograding tests configured in the product's own interface rather than committed as files. If a test was never in the repo, it is gone.
3. Historical test-run and submission data. Every autograding run, every score, every timestamp, for every student, for every term.
4. Every roster synced from a learning-management system. Not degraded. Deleted.
What survives is the part that was never inside the retired product: accounts, repositories and organisations on the code host underneath it. That means repository contents, commit history, the organisation membership list, any autograding workflow file still committed under .github/workflows/, and a grades.csv export — but only if somebody exported one before the shutdown.
That distinction is the whole lesson, and it is worth saying flatly: what survived, survived because it was never in the product that died.
Four mechanisms that made it expensive
None of these is a moral failing and we are not interested in scoring points. They are four design choices whose costs landed on instructors rather than on the vendor.
Governance moved before the trust did. The source was closed while faster development was promised. Whatever the merits, it removed the option that open source exists to preserve: when a product is abandoned, somebody else can keep it alive. Educators who had built a decade of coursework on it had no fork to fall back to.
A migration destabilised an already thin product. The 2024 move to a fork-based assignment model changed the mechanics of every existing course and is, on the public record, the proximate cause of the trust collapse that preceded the shutdown. A product with a small team cannot absorb a migration of that size and stay reliable, and instructors absorbed the difference.
Grading ran on the learner's own compute budget. Autograding consumed the student's free continuous-integration minutes. That is an elegant way to make a free tier survivable and a bad way to make grading dependable: a student who ran out of minutes could not be graded, and the instructor found out at the deadline.
Identity was bound to the product. A course roster existed only inside the classroom layer, keyed to host handles. When the product went, the rosters went with it — which is why item 4 on the loss list is total rather than partial. Nothing about a roster is technically hard to keep. It was simply never the learner's, or the instructor's, to keep.
What we decided, and what that is worth today
We had made three decisions before any of this was public. We are stating them because a post-mortem that only diagnoses somebody else is worthless, and because stating them commits us to them in front of people who can check.
- Generate from a template; never fork. An assignment repository is created from a template, not forked from one. Forks carry the upstream's fate; generated repositories do not.
- Grade on our own compute, and publish the result back. The learner's own compute budget is not a grading dependency.
- A code host is an integration, never a way to log in. A learner keeps an account with us that outlives every integration, every institutional contract, and us switching any of it off. A roster is data the institution holds, not a side effect of a session.
Now the honest part: not one of those three is a shipped feature. They are design decisions recorded in our specification, and today they are worth exactly what a specification is worth. If you are choosing a tool this week to keep a course running, choose on what is running this week, and that is not us.
What we do not know
- Whether review comments left on submission pull requests survive. They live on the code host rather than in the retired product, so they probably do — but the decommission notice we are working from does not say, and we have not verified it.
- The exact time and time zone of the 4 September deletion.
- Whether an already-taken grades.csv export carries rubric or per-criterion detail, or only final scores.
- Whether an organisation membership list can reconstruct a usable roster. It gives you host handles. A roster synced from a learning-management system carried institutional identities, and handles are not names.
We would need the vendor's own decommission documentation to answer the first three, and one real export from one real course to answer the fourth. Until then these are open questions and we will not write around them.
The one useful thing, and it does not involve us
If you are reading this before 4 September 2026: stop and export. Clone the organisation's repositories, take the membership list, take a grades export if the product still offers you one, and save any workflow file that defines your tests. None of that requires a decision about what you use next, and after that date no decision can recover it.
When you are ready to think about what comes next, we have written down what we could import, what we could not, and what we do not offer — losses first.
→ [What is gone forever, and what a migration can actually recover](/classroom-migration)
Want to do this, not just read it?
Miatz's founding cohort is free. Start the daily loop — the Chuun places you — or poke at the free AI playgrounds first.