Most handoff tests I run into end with a sleep and a hopeful assertion. This one can do without.
A request carries an identifier. The worker takes it from an unbuffered channel, writes that identifier into the request's result slot, then sends back an acknowledgement carrying the same identifier. Call the completed send sent, the result write observed, and the test's receipt of the acknowledgement acknowledged.
When an unbuffered send completes, the matching receive has happened. That's all it tells you. The worker may not have reached the statements after its receive yet, so sent and observed can land in the log in either order, and checking the slot right after the send is a race.
So the test waits for the acknowledgement instead. The worker writes the result before it sends the ack, the test reads the slot only after receiving it, and the channel gives you the ordering for free. A timeout stays, but only to kill a stuck test. It says nothing about progress.
One channel each way and nothing else. I think we can keep this handoff that small.