To be very honest, I think gift points used should not be dynamically calculated and should be calculated similar to how points available is done instead. If, say, I give a user 30 days of donor usergroup membership and the donor user earns that member an additional 5 gift points per day, we run into a problem when the member's usergroup subscription expires; I assume they lose all those extra gift points.
The field is not designed as some kind of increment/decrement on top of another calculation, it was designed to actually hold the absolute value of the points used. So if you say they've used "-1000" then that's it, end of story.
We no longer rely on it for positive values for the reason you said, it is better to dynamically calculate it.
And setting a negative value in there has very questionable use, it's basically a hack in the code that users would never normally find, for a very rare use case.
There'd be an argument for removing the field entirely, but I suppose it's just there for consistency, as the various other fields exist and some of them are strictly needed while others help with performance.
We no longer rely on it for positive values for the reason you said, it is better to dynamically calculate it.
And setting a negative value in there has very questionable use, it's basically a hack in the code that users would never normally find, for a very rare use case.
There'd be an argument for removing the field entirely, but I suppose it's just there for consistency, as the various other fields exist and some of them are strictly needed while others help with performance.