1. guarda.py (deny)
It denies what can't be undone: forced push, reset --hard, git clean -f, checkout -- ., git restore (of the tree), find -delete, recursive rm at the root or in HOME (quoted or inside bash -c), pkill and killall, dd and mkfs.
And it denies writing to goal.md, tests/, .claude/ and the guard's own folder, through Edit/Write and also through Bash: > and >>, tee, sed -i, cp, mv, rm and truncate (GUARDA_PROTEGIDOS changes the list).
What it doesn't catch: the guard reads the text of the command, it is not a sandbox. A program that writes on its own (python3 -c "open('goal.md','w')", node -e, a script of yours), a path built in a variable, or eval gets through. That's why it comes together with the deny Edit(...) from lesson 4, which covers the file tools, and with the sandbox from lesson 6, which limits what Bash itself can write.