Relationships that are sustained by reciprocity work like this.  When she cooperates I stay cooperative in the future.  When she egregiously cheats, the relationship breaks down.  In between these polar cases it depends on how much she let me down and whether she had good reason.  Forgiveness is rationed.  Too much forgiveness and the temptation to cheat is too great.

This is also how it should work in your relationship with yourself.  It takes discipline to keep working toward a long-term goal.  Procrastination is the temptation to shirk today with the expectation that you’ll make it up in the future.  Thus the only way to reduce the temptation is to change those expectations.  Self-discipline is the (promise, threat, expectation) that if I procrastinate now, things will only get worse in the future.  Too much self-forgiveness is self-defeating.

I came across a study by psychologists that, at first glance, casts doubt on this theory.  Students who procrastinated on their midterm exams were asked whether they forgave (forgifted ?!) themselves.  The level of forgiveness was then compared to the degree of procrastination on the final exam.  The more self-forgiving students were found to procrastinate less on the final.  The psychologists interpreted the finding in this way.

we have to forgive ourselves for this transgression thereby reducing the negative emotions we have in relation to the task so that we’ll try again. If we don’t forgive, we maintain an avoidance motivation, and we’re more likely to procrastinate.

But if we think a bit more, we can square the experiment quite nicely with the theory.  The key is to focus on the intermediate zone where forgiveness is metered out depending on the extent of the violation.  Forgiveness means that the relationship continues as usual with no punishment.  The lack of forgiveness, i.e. punishment, means that the relationship breaks down.  In the game with yourself that means that your resolve is broken and you lose the incentive to resist procrastination in the future.  Forgiveness is negatively correlated with future procrastination.

(The apparent inversion comes from the fact that the experiment relates forgiveness to future procrastination.  A naive reading of the theory is that because forgiveness reduces the incentive to work, forgiveness should predict more procrastination.  As we see this is not true going forward.  It would be true, however, looking backward.  Those who are more likely to forgive themselves are more likely to procrastinate.)