3912b91bc4
The outer loop called set_err and dropped the result, so no docker_events=error line was ever written while the reconnect did write docker_events=recovered. The events log could therefore show a recovery from a failure it had never recorded, which contradicts its documented contract of holding transitions in both directions. last_action.state was correct throughout - this was the journal only. Both branches now build the reason and share one report, matching the wording the periodic reconcile already uses.