A real shell, in your browser
The last interface that does not guess what you meant.
A lexer with genuine quoting rules, the full expansion pipeline in the correct order, a virtual filesystem with inodes and permissions, and coreutils written as pure stream functions. You type commands. The filesystem changes. Grading is the state of that filesystem, plus stdout, plus the exit code.
The shell is where an agent does damage — the one place a model’s output runs against your machine with your privileges, usually pasted without being read. A person who can read a generated script before running it is the entire mitigation, and reading one requires knowing the expansion order.
Nothing here can touch a real disk. rm -rf / is a lesson.