When a building is set to X workers, and X is more than the number of
resources needed to finish construction/repair/upgrading, then it
seems that some worker effort and resources often ends up wasted. It
is very tedious to have to micromanage the number of workers assigned
to a building as the building nears completion to keep this from
happening. It seems like it ought to be possible to auto-reduce the
number of workers assigned to a construction site so that the number
of workers is limited by the amount of resources still needed for the
construction.
I think our goal is to not having to tell a building how many workers
it should use for construction, but to give it a priority value so that
it can negotiate this with the other buildings.