Run the grader
# grade this stage (from your course directory)
npx theinference test --stage run-the-grader --watchBefore any math, let's get your first green and confirm the toolchain. The grader runs your_program.sh, which execs your TypeScript directly — no build step. The setup command just prints a banner so the grader can confirm everything is wired up.
Run the grader
Implement the setup subcommand so your_program.sh setup prints exactly:
theinference: toolchain OK
No more, no less — the grader compares stdout exactly.
if (cmd === "setup") {
console.log("theinference: toolchain OK");
process.exit(0);
}
Process mode: the grader runs your_program.sh setup and asserts stdout exactly equals fixtures/expected.txt (theinference: toolchain OK). Trailing whitespace is trimmed.
Everything in this course is seeded — weight init, batch order, the dataset. That means your loss and recall will match the reference's to the last decimal, so the grader can check exact values, not just thresholds. Single-thread + fixed seeds = reproducible training.