When a worker session is successfully dispatched but activateWorker
fails to update projects.json, the error was being logged but not
re-thrown. This caused task_pickup to return success even though
the state wasn't updated, leading to task_complete failures later.
Now we re-throw the error after logging the warning, so the caller
knows the state update failed even though the session is running.
Fixes: #23