A menu can keep changing while the task goes nowhere, while a legitimate wait may require reading the same state repeatedly. In the early agent design I used a review signal instead of automatically blocking repetition. I explain that choice while distinguishing retained source from the internal execution path later removed from the product.

Counting tool names alone would misclassify normal work

The same browser.observe can read another page or circle the same menu. BehaviorMonitor retains action and observation fingerprints separately. Observations incorporate tab, URL, document/frame scope, text, tables, media and control states. A fresh snapshot ID alone does not establish progress.

For an action with a reference, a matching recent observation can supply a semantic control description for fingerprinting. That description supports repetition comparison; it is not an actionable reference for the next click. Input case is not arbitrarily normalized to collapse different values into one action. A summary used for repetition and the authority used for interaction retain different roles.

Look for open/close cycles as well as identical pages

Action and page fingerprints retain bounded histories. A signal can arise from repeated actions with repeated page visits or accumulated stagnation. The source combines five repeated actions with three revisits when observations exist, or five stagnant observations; repetition without observations has its own condition.

Alternating open and closed menus can mutate the DOM every time without advancing the task. The corresponding test checks that this cycle can still produce a signal. The thresholds are not validated as universally optimal detection settings for every site. They are a small explainable heuristic whose output invites review rather than establishing a measured universal accuracy rate.

Distinguish passive waiting from ordinary navigation

WaitFor, verifyOutcome and verifyField are passive and are not added to the action repetition list. Page and tab scope also prevent normal movement through different pages or tabs from being treated as the same stagnation. Original cases check normal pagination, different tabs and passive outcome waits without a signal.

The output contains repetition/stagnation counts and review guidance. Tests also check that raw input and sensitive control names do not appear in diagnostic output. That is not expanded into a claim that no original text exists anywhere in internal memory. What the public signal exposes and what an internal observation retains are different scopes.

A hint is neither an execution block nor completion proof

RunAgent can attach loopSignal to its next model context, but the signal itself does not return failure or completion. Legitimate repetition can continue, and a unit case proceeds to done after the hint appears. A repetition warning must not replace verification of the requested objective.

Screen-change summaries follow the same principle: added, removed and changed state are informative, while interaction still needs a fresh host reference. A change description creates neither storage success nor permission for another submission. Completed or uncertain transfers must not be resent merely to clear a warning. Existing cancellation, authentication handoff and outcome verification remain the governing boundaries.

Separate current integration from the historical description

This feature is grounded in version 0.1.117 internal-agent implementation and tests. Current bootstrap supplies an internal model gateway that throws a removed-agent error, while an external MCP call uses programCall and the broker. Retained runAgent and BehaviorMonitor source do not establish that every current external agent response receives this signal.

I reviewed code without newly running the original browser or model. The historical report also states that the reduction in model calls attributable to repetition detection itself was not separately measured. The linked usage ledger is not such a detector. I publish both the design value of an advisory signal and the limits of verified integration and effect.