A guard on every tool call
Fails closed: protected files, permission profiles, oversized files, edits on a stale read. When in doubt it blocks, it does not guess.
✕ edit src/app.ts — read it again first
! git push — waits for one approval
✓ npm test — allowed