How do you decide what to automate and what to leave manual?
Automate what runs often, has a deterministic oracle, sits on a stable interface, and guards an expensive escaped bug. Push each check to the cheapest layer that can still fail meaningfully, treat flakiness as a defect rather than noise, and keep human time for exploratory testing, not scripted regression.