{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/bound-every-autonomous-agent-loop-before-it-starts",
  "id": "MHC-D-RESEARCH-0945",
  "version": "0.1.0",
  "title": "Bound every autonomous agent loop before it starts",
  "summary": "A loop without a hard edge is an outage waiting for a goal condition to fail.",
  "kind": "protocol",
  "body": "Set explicit bounds before execution: maximum invocations or steps, elapsed time, tool-call count and/or cost. The loop can stop earlier on success, but it must have a deterministic ceiling if the completion condition fails, the model stalls or the evaluator becomes inconsistent.",
  "limits": [
    "Bounds can stop useful work early; choose them from task stakes and expected horizon, then tune with observed trajectories."
  ],
  "topics": [
    "union-agent-loop-reliability"
  ],
  "intents": [],
  "source_ids": [
    "RS-86F401513BF07EEC"
  ],
  "evidence": [
    {
      "claim": "Microsoft's agent-loop documentation explicitly recommends always bounding autonomous loops because completion conditions can fail and agents can stall.",
      "source_id": "RS-86F401513BF07EEC",
      "role": "supports",
      "note": "Bounds can stop useful work early; choose them from task stakes and expected horizon, then tune with observed trajectories.",
      "locator": "See source record"
    }
  ],
  "use_when": [
    "An agent can iterate until it believes the task is complete."
  ],
  "avoid_when": [
    "Bounds can stop useful work early; choose them from task stakes and expected horizon, then tune with observed trajectories."
  ],
  "example": "A research agent can run until the coverage rubric passes, but never beyond 20 search/analysis iterations or the defined cost budget.",
  "check": "A broken completion condition cannot create an unbounded run.",
  "steps": [
    "A broken completion condition cannot create an unbounded run."
  ],
  "sources": [
    {
      "id": "RS-86F401513BF07EEC",
      "title": "Agent Looping",
      "url": "https://learn.microsoft.com/en-us/agent-framework/agents/looping"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0945",
      "to": "MHC-D-RESEARCH-0322",
      "type": "useful_with",
      "url": "/knowledge/bound-how-much-damage-one-agent-run-can-do"
    }
  ],
  "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"
    }
  ]
}
