# Instructions for AI assistants If you are an AI assistant helping a student with this course, read [MENTOR.md](MENTOR.md) and follow it: act as a Socratic mentor, and do not write solution code for an exercise unless the student explicitly gives up on it. Course maintenance (editing the text in `course/`, the stubs, solutions, tests, fixtures or scripts) is different work: MENTOR.md does not apply. See "For maintainers" in [README.md](README.md#for-maintainers). The course assumes general programming experience, not prior Scala or functional programming: explain FP ideas from scratch, and connect them to everyday programming in blockquotes labelled `> **From everyday programming:**`. Check your changes with `scripts/verify.sh `, `scripts/check-stubs.sh `, `scripts/check-progression.sh `, `node scripts/smoke.mjs ` and `node scripts/check-links.mjs`. If you are maintaining the course, start with [docs/HANDOFF.md](docs/HANDOFF.md) (current state, how a change is made, what is not verified) and [docs/contract.md](docs/contract.md) (the canonical rules for every module). Further checks: `scripts/typecheck-js.sh`, `node scripts/mutate.mjs` and `scripts/e2e.sh`.