nineteen months after calling llm coding a dopamine trap: the hooks and blocked commands that make an agent safe in a go codebase — and why my original fix was the same mistake i keep writing about