According to an instruction of walking through, I put a vote of “yes” as a council member, then I rushed to the bar and changed the servant’s disguise. I poisoned the food (small cakes in green container) and pressed G (serve) to Sophia when she entered the interaction range. She took a look at the food and said she prefer to keep an empty stomach.
It was the same reaction when I tried before the vote. So, what exactly should I do to make here eat?
To expand on what @Count.Rushmore said, you need to disguise as Jebediah Block and vote against Sophia. Serve her some food after this and she will accept. The hint is that she says she isn’t hungry or something along those lines when you try to serve it to her beforehand
There’s also the (script) where I think you get the blueprints from an Ark Member, disguise yourself as said member, then talk to the Constant… And after that there’s a way to get Sophia to have a discussion with the Constant. There are a few kill opportunities during these events… But if you don’t do anything else, there is the opportunity serve her food after she comes back from the other tower.