Examples
Wherever the usual way in does not exist.
The pattern is always the same: a screen, a keyboard, and no supported way to automate what sits between them. Nine shapes cover most of what people bring us.
The seventh shape
Where recording the mouse and keyboard is not enough.
A macro recorder replays what happened once. It cannot look at the screen, so it cannot tell whether any of it worked. That holds until the machine does something slightly different, which it will, and the recorder keeps going regardless.
What we replace each with
Why this one is personal
We ran a typing benchmark across five trials and it produced a clean-looking table. Every keystroke had gone into the wrong window. The target had lost focus, and nothing in the numbers said so. That is the macro failure mode exactly: the work did not happen, the run reported success, and only a check against the screen could have told the difference. It is why the loop verifies focus and state before it acts, and aborts when it cannot.
The eighth shape
Testing what the user sees, not what the application says it drew.
A test framework reaches into the program: an accessibility tree, a document model, an automation interface. That is a privileged channel, and what it tests is the program's own account of itself. AMI reads the screen from outside, on the hardware the software will ship on.
What it catches that an instrumented test cannot
And one measurement nothing else gives
How long after an input the user can see the result. We take it the way we take our own figures: a keyboard or pointer action, then the first frame in which the region changes. Measured at the glass, it includes the parts a code-level timer never sees, and it is the number a person experiences as the application feeling quick or slow.
The same rig gives a regression test for it. A build that gets slower to respond fails on a number rather than on somebody's impression.
The check has to be checked first
A visual test is worth what its comparison is worth, and a comparison that cannot fail cannot pass. A pixel diff against a stored reference is honest about this: it breaks loudly the moment anything moves. A model asked whether a screen looks right is not, because a model that has understood nothing still answers, and usually answers that everything is fine.
That reads exactly like a clean result. We test for it by showing the checker matched pairs, a real capture and the same capture with an obvious defect painted into it, and requiring that it tell them apart before any verdict from it counts. On our own bench a small local vision model returned an identical verdict on six of six pairs when half of the image had been blanked out. It reported a clean site because it could not see the site at all.
So an acceptance run we hand over reports what it inspected as a number, and refuses to report a pass when the coverage behind it was not earned. A test that has quietly stopped looking is worse than no test, because it still produces green.
What it is not
It is slower than an instrumented test and it does not replace unit or integration testing. It belongs on the last mile: acceptance on real hardware, and the cases a framework cannot see. It reads pixels, so a deliberate change to the user interface fails the test until the expectation is updated. That is a real cost, and the same property makes it notice a change nobody intended.
Before planning around any of these
Several of the shapes above touch industrial equipment. AMI must not be relied on where a failure could injure someone or cause serious loss, and it is not a safety instrumented system. The full statement, together with what AMI cannot do at all, is on the safety page.
The ninth shape
Buying things, without the payment details ever reaching the agent.
Ordering parts, renewing a licence, booking a shipment. Checkout was built for a person, and for most suppliers there is no purchasing interface worth integrating against. The agent works the page the way a buyer does: finds the item, reads it carefully enough to know it is the right one, fills the form, and stops where the money moves.
What it is not
Not unattended spending. Nothing here removes the need for a person to be accountable for a purchase, and the design deliberately keeps one in the loop at the point it matters.
Not a way around a site that has told you no. Where you hold the account and the task is one you could do yourself, an occasional verification is a speed bump. Where the check is there because the operator does not want automated use, or the volume is one no person would transact, that is a no, and it does not stop being a no because the keystrokes look human.
Not a substitute for the account limits. Where a mistake would be expensive, what bounds it is the ceiling on the card and the address the goods can reach, not how carefully anything read the page.