The purpose of the Company Reliability rating is to ascertain that you can consider an unknown company reliable in terms of fulfilling their contracts as agreed upon.
Currently, the only way (?) to lose reliability comes from having other players mark your contracts as breached after you fail to fullfil the terms of the contract.
However (except for very odd niche cases), it is impossible to prompt such a breach of contract without putting the other party in a situation where marking a contract as breached would have an economic cost to them. Thus there is a very real incentive to just extend contracts. Essentially, the breacher holds the economic well-being of the victim hostage, in order to safeguard their own reliability rating.
I don’t see a concrete way to make the breaching mechanic better,
but I do want to suggest that
being in breach of a contract, and receiving an extension, should affect your reliability rating.
In all likelyhood it should have a lesser impact than outright being found in breach of contract (since the latter also includes piracy, and one can rightfully argue that somebody screwing up a delivery and causing a 1d delay shouldn’t be punishes the same as someone intentionally running off with a shipment), but there should be a very real cost to reliability for frequently requiring other people to extend contracts because you can’t meet the original contract terms.
There could also be an optional flag/choice along the lines of “Do you wish to waive the rating penalty to the other party over this extension/breach?”, thus essentially giving the damaged party the option of waiving mistakes in a show of goodwill, but the default should be a reliability penalty.
I’ll also pre-emptively disagree with any “Well, sometimes RL does shit and you end up not reaching an APEX client in time to hit the fulfil button” kind of argument: Reliability is independent of intent. It doesn’t matter why a company are unreliable. It only matters that they are, and the rating should objectively reflect that.