Isn't it possible for a dev to fulfill requirements but still deliver a bad result as measured by subjective (but important) things such as code smells, bloat, crappy algorithmic logic, and so on? Or do you think managers need to spec things out in such strenuous detail that surprises (but also, to an extent, autonomy and ad hoc decision making) aren't possible?
There's also the case of R&D roles where it's hard to spec things out exactly in advance, and you're partly relying on the employee's ingenuity.
You either need to accept that someone sees the problem differently than you and accept their solution, or if it is something important to you, you need to get better at explaining your vision.
Anyway, back to your requirements, as you pointed those requirements are subjective. If those are important things you should still outline what's expected. You don't have to do it for every project, and can be when person is being on-boarded.
Requirements covers a VAST range of different garbage that can be provided to someone under the guise of letting them get on with it.
While true, a key requirement for even senior developers to function well is good management or a good team lead.
If effective management doesn't exist, the senior engineer should be made manager/team lead since he's doing that work anyway.
On the other hand, if management is micromanaging, then the responsibility of clarification is on the micromanagers.
Management of knowledge workers is a hard job. Most managers are incapable of understanding their reports and understanding their OWN standing among their reports.