City officials met behind closed doors about the fate of a firefighter and didn’t bother telling him. Now they’re going to have to pay.