Once again, left cannot be negative.
Left cost = left work * resource cost.
Only thing that can tell you that work is finished is "left=0"
NEVER TRY AND PLAY WITH LEFT CALCULATION.
Left must be estimated by resource.
When left = 0, work is finished.
What you are expecting is gain : assigned - planned = assigned - (real + left).
When left=0 (work is finished), then gain = assigned - real
You can get an overview of what you expect : Expected progress = planned / validated
As in example there is more real than allocating therefore it should no more have rest there
If resource conciders there is some left work, then work IS NOT FINISHED !!!