Say you have a warning scale set up, 0 to 3, and each level has an action set up giving an appropriate suspension.
Points: Suspension length
1: 3 days
2: 6 days
3: 9 days
Rather than letting all of the warnings expire automatically, you also have some "good" warn reasons that give negative points. So a person is given a couple warnings, they end up at 2 points and a week or so of suspension. Then afterward, they've been good for a while, so we decide to reduce their warning by a point, leaving them at 1 point.
This is where the problem comes in. At present, warn actions only consider the point the user ends up at. That user ends up with another 3-day suspension, even though they went from 2 points down to 1.
In our case, we're replicating the old warning point system, with ratings between -5 and +5--so this is happening to us whenever we try to increase a negative rating (like -2 to -1). Bottom line though, the actions have no sense of direction.