{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/treat-repeated-state-action-pairs-as-a-loop-alarm",
  "id": "MHC-D-RESEARCH-0948",
  "version": "0.1.0",
  "title": "Treat repeated state-action pairs as a loop alarm",
  "summary": "If the state did not change, the same action is usually a retry—not a new strategy.",
  "kind": "heuristic",
  "body": "Record a compact signature of current state plus chosen action. When the same or near-identical pair recurs, flag it as potential looping and require an explicit explanation of what changed to justify another attempt. Otherwise replan, widen evidence or escalate.",
  "limits": [
    "Some polling/waiting tasks intentionally repeat; tag those loops separately with time-based conditions."
  ],
  "topics": [
    "union-agent-loop-reliability"
  ],
  "intents": [],
  "source_ids": [
    "RS-86F401513BF07EEC"
  ],
  "evidence": [
    {
      "claim": "Autonomous loops can stall, and long-horizon reliability degrades when repeated actions fail to resolve planning or execution problems.",
      "source_id": "RS-86F401513BF07EEC",
      "role": "supports",
      "note": "Some polling/waiting tasks intentionally repeat; tag those loops separately with time-based conditions.",
      "locator": "See source record"
    }
  ],
  "use_when": [
    "An agent repeatedly invokes the same tool or applies nearly the same fix without changing the relevant state."
  ],
  "avoid_when": [
    "Some polling/waiting tasks intentionally repeat; tag those loops separately with time-based conditions."
  ],
  "example": "The agent searches the same query four times and receives the same results; a loop alarm should force query redesign or stop.",
  "check": "Repeated actions require a changed state or new rationale rather than silently consuming budget.",
  "sources": [
    {
      "id": "RS-86F401513BF07EEC",
      "title": "Agent Looping",
      "url": "https://learn.microsoft.com/en-us/agent-framework/agents/looping"
    }
  ],
  "relations": [],
  "collections": [
    {
      "id": "RC-043A908C9263BF6A",
      "title": "Make the agent loop finish, recover and stay inspectable",
      "url": "/collections/make-the-agent-loop-finish-recover-and-stay-inspectable"
    }
  ]
}
