I've noticed some very odd behaviour with how my Civilian Freighters are assigned jobs.
Situation: Due to mineral crunch, I had to relocate 2 mass drivers and some automines to an asteroid. I had 40 Automines on Earth, ready for delivery, and 2 mass drivers on different asteroids to reposition. I'll call the asteroids A, B, and C.
I made the following contracts in this order:
Mass driver A -> C
Mass driver B -> C
40 AM Earth -> C
Half of my freighters were parked at Earth doing nothing. Most of the rest were on the Earth<->Luna route, with a few on runs to Mars or out of system.
All of my idle civilian freighters immediately headed for Asteroid A to pick up the lone Mass Driver there. As each working freighter finished its current job, they also headed for A. The first to arrive, which had a head start as it started at Luna, took that job and headed for C. As each following freighter arrived at A, they went to B to pick up the other lone Mass Driver. Again, the first to arrive took the job and headed for C. The rest then went back to Earth (where they started!) and started loading Automines.
I had expected one freighter each to be dispatched to A and B, with the rest loading Automines at Earth where they started. Alternatively, I would have expected the Automines to be shipped first, as that was closer.
As it stands, setting up any manual job that starts somewhere other than Earth sends the entire civilian fleet running. It seems that jobs aren't reserved for a ship until it arrives, which means multiple ships will respond to a single item request. It also seems that jobs are taken in the order created, with no consideration of distance. This means that even with multiple jobs, all ships will try to take the first job, then when it is gone, all ships will try for the second.
This may also be related to the bug where a supply order without a destination causes all Freighters to stop working. It may also be related to the report about Colonizers stampeding when a new colony opens up.