1. The problem: I wanted to auto-grade a terminal task

2. First attempt: compare the typed command to an expected command as a string — why it broke (infinite commands do the same job)

3. Second attempt: parse the output with regex — why it broke (different commands, equally valid output)

4. The fix: check simulated filesystem/process state at the end of the task instead

5. How I built this in JS (short code sample)