reticle_act clicks, fills, types, selects, drags. It does exactly one thing and makes exactly one promise: the event was dispatched.
Example
The
effect block only lists what is worth knowing. Fields sitting at their uninformative default
are omitted, so a clean action collapses to its consequence. An absent dispatched,
targetMatched, visible or enabled means true; an absent occluded, scrolledIntoView,
valueChanged or defaultPrevented means false; an absent focusMoved or occludedBy means
null. Do not read a missing field as a failure.Actions
click · dblclick · hover · focus · blur · fill · type · clear · select · check · uncheck · submit · press · upload · scrollIntoView · scroll · drag · tap · zoom
Name the element with ref, or with target to find it in the same call: { testid }, { text }, { role, name } or { label }. A target that matches more than one element is refused. A press of Escape, Tab or a shortcut such as Cmd+K needs neither.
Reading the effect block
This is whereact earns its place even though it proves nothing.
valueChanged: true: the field took the value.falseon afillusually means that the input is controlled and rejected it, or that it is readonly.focusMoved: "null->e104": focus went where you expected.domMutatedWithin: 9: something re-rendered within 9 ms. Afillthat changes nothing often means that no handler is attached.defaultPrevented: a handler calledpreventDefault(), which is why your form did not submit.occluded/occludedBy: the click landed on something else. This is the answer to at least half of all “the button does not work” reports.
settled: false is not a failure
settled: true with settleReason: null, as above, means a real frame flushed before Reticle stopped watching. settled: false with settleReason: "timeout" means the page was still busy. On a fill that’s normal and uninteresting. On a click you expected to complete something, it’s a hint that you wanted act_and_wait with an explicit until. A settle timeout never fails the tool.
inputMode tells you how real the input was
synthetic means Reticle dispatched events programmatically. real means native CDP input, available under reticle drive. Synthetic input is fine for the overwhelming majority of apps; a few drag-and-drop and pointer-gesture libraries only respond to the real thing.
inputModeReason explains any choice Reticle made on your behalf, so it is never silent. not-a-pointer-action above means a fill has no pointer path to take, not that real input was unavailable. Clicks default to the occlusion-honest synthetic path even when CDP is configured; pass args.native: true to force a trusted native click for file pickers and clipboard access.