reticle_act_sequence runs several actions in order in a single round trip. Reach for it whenever a journey needs more than one step, such as fill, fill, submit, and then prove the outcome once with reticle_act_and_wait, because a sequence itself produces no verdict.
A login is three actions. Driving it one call at a time costs three round trips and three turns of context. reticle_act_sequence does it in one.
This tool exists because of a measured problem: agents were driving forms one call at a time, over and over. Those repeats were not retries. The calls succeeded and got repeated, because the batching tool was not advertised and so nobody knew it was there.
Example
target instead of a ref, the same locator reticle_act takes. The sequence resolves each one before dispatch, so a login does not need a query round trip per field:
effects[] entry also carries targetMatched, visible, enabled, defaultPrevented, occluded, occludedBy and scrolledIntoView, and each steps[] entry also carries dispatched, settled, settleReason, component, role and name. Those are trimmed here for length:
Read that response again
ok: true. count: 3. Every step dispatched. And the login failed, look at appeared:
ok: true, correctly, because ok means the three actions were dispatched, which they were.
The honest pattern is: batch the setup, prove the outcome.
grade: "signal", the strongest Reticle awards, because the app said so itself.
What each step reports
Every step comes back with the sameeffect fields as reticle_act: valueChanged, focusMoved, domMutatedWithin, occluded. Plus its testid, component and source. When a sequence goes wrong, that per-step detail tells you which step, and which line of which file.
Steps run in order and do not stop on a soft failure, because “the field rejected the value” is
not an exception. It’s a result you need to see. Read
effects[] rather than assuming ok: true
means all three did what you wanted.