So which failures are you willing to let through as advice, and which have to be a hard stop? I'd take that and put it in front of the team as the target for every hook we write. I don't trust hooks that can't be expressed as a single command. "Don't touch .env" is a path check, fine, but "run the tests before you say you're done" needs a hook that can tell whether the tests passed, which is closer to the done-detection problem than to a lint rule.