if your tests cover the acceptance criteria as defined in the ticket, why is all htat other stuff necessary?
If your acceptance criteria state something like “produces output f(x) for any inout x, where f(x) is defined as follows: […]”, then you can’t possibly test that, because you can’t test all possible values of x. And if the criteria don’t state that, then they don’t cover the full specification of how the software is expected to behave, hence you have to go beyond those criteria to ensure that the software always behaves as expected.
You can’t prove that something is correct by example. Examples can only disprove correctness. And tests are always only examples.
Because AC don’t cover non-functional things like maintainability/understandability, adherence to corporate/team standards etc.
Acceptance criteria are often buggy themselves, and require more context to interpret and develop a solution.