1. guarda.py (deny)
Niega lo que no tiene vuelta atrás: push forzado, reset --hard, git clean -f, checkout -- ., git restore (del árbol), find -delete, rm recursivo en la raíz o en el HOME (con comillas o dentro de bash -c), pkill y killall, dd y mkfs.
Y niega escribir en goal.md, tests/, .claude/ y en la carpeta de la propia guardia, por Edit/Write y también por Bash: > y >>, tee, sed -i, cp, mv, rm y truncate (GUARDA_PROTEGIDOS cambia la lista).
Lo que no atrapa: la guardia lee el texto del comando, no es sandbox. Un programa que escribe por sí solo (python3 -c "open('goal.md','w')", node -e, un script tuyo), una ruta armada en una variable o eval pasan. Por eso viene junto con el deny Edit(...) de la clase 4, que cubre las herramientas de archivo, y con el sandbox de la clase 6, que limita la escritura del propio Bash.