One thing that helps rules stay useful: store each rule with the review finding that created it, plus a tiny example of the bad code. When an agent breaks a rule later, you can tell whether the rule was unclear or simply ignored, and rules with no linked finding in months are good candidates to delete. It also keeps the rulebook from growing into a wall of text the model only half reads.