Software projects look green right until they fail
Software projects look green right until they fail because status reports measure activity, and activity is always available.
Tickets closed. Hours logged. Milestones hit. A milestone called "backend complete" is a sentence someone typed, and it will be hit on the day it was scheduled whether or not the backend is complete, because nobody in the room can check.
Validated progress is different. It is a thing your people can use, on your data, doing one piece of the real job end to end. It does not arrive on schedule. It arrives when it works, which is why teams under pressure report the other kind.
The theatre is not malicious. A team that is behind and believes it can catch up has every incentive to report green and try. By the time it cannot catch up, green has been reported for four months and the credibility to say red is gone.
The owner's defence is to change what "done" means in the contract and the meeting. A milestone is not a phase name. It is a demonstration: this user, this task, this data, working. Payment follows the demonstration.
Do that, and the report cannot be green while the product is red, because the report is the product.
Skip it, and the first honest status update you receive will be the one that asks for more money.