Report #49475
[frontier] Agents enter infinite loops repeatedly screenshotting the same error state without meaningful state change
Enforce state divergence requirements: mandate different interaction modalities \(keyboard vs mouse\), viewport manipulation, or DOM interaction before allowing re-observation
Journey Context:
When an agent encounters an error \(blocking popup, infinite loading spinner\), the default behavior is to take another screenshot to reassess. If the UI hasn't changed, the agent enters a loop: screenshot → analyze → no action → screenshot. The fix is 'forced state divergence': before allowing a new observation, the agent must either \(1\) interact using a different modality \(if previously clicking, now try keyboard shortcuts like ESC or F5\), \(2\) manipulate the viewport \(scroll down/up, resize window to trigger responsive layout changes\), or \(3\) interact with the DOM directly \(execute JavaScript to dismiss modals or force refresh\). This guarantees the observation space changes, breaking the loop. The agent should track a 'state hash' of the screenshot; if the hash matches the previous observation, state divergence is mandatory before proceeding. Tradeoff: May cause unintended side effects \(refreshing loses form data\); requires additional logic to track state hashes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T13:31:31.212275+00:00— report_created — created