Content with a half-life
Systems content rots fast. Here is how we treat course material as software with a supply chain — so it either passes or gets fixed.
A debugging tutorial written eighteen months ago is often actively misleading today. Nix flakes change. Kernel APIs drift. The half-life of systems content is getting shorter, not longer — and most learning platforms have no answer for it beyond a stale-dated byline and good intentions.
We decided early that this was an infrastructure problem, not an editorial one.
Every step is executable
A LabCraft lab step isn't prose describing a command. It's the command, run in CI against a real environment, with the validator checking the actual state of the machine rather than whether you typed the expected string.
nix profile install nixpkgs#hello
hello --version
If that step's output changes because nixpkgs moved, the lab fails in CI before a learner ever sees it. The failure is a signal, not an embarrassment.
The supply chain
We track upstream releases for every tool we teach. When a new version drops, the affected labs run automatically against it. Anything that breaks is flagged for human review before the next learner encounters it.
Content doesn't drift quietly. It either passes, or it gets fixed.
This is the part nobody sees — and it's the difference between a platform you can trust and a graveyard of stale tutorials with a UI on top.
Why it matters
The promise of a course is that the time you spend on it transfers. Stale content breaks that promise twice: once when the command fails, and again when you can't tell whether the failure is your mistake or the tutorial's.
Treating content as software — versioned, tested, and tied to its upstream — keeps the promise honest. It's the same judgment we want learners to build, applied to the material itself.