# LoopCriterion

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/http-api/schemas/loopcriterion/
> Summary: OpenAPI request or response schema for LoopCriterion, including required fields, defaults, constraints, and linked nested types.

[← All HTTP schemas](/http-api/schemas/)

One declarative stop criterion of the harness loop (see `LoopSettings`).

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `kind` | yes | `string` | Gets the criterion kind: `completionMarker`, `todoCompletion`, `aiJudge`, `backgroundTaskCompletion`, `agentReview`, or a kind registered in code with `AddLoopEvaluator`. | — |
| `marker` | no | `string` | Gets the completion marker text. Read by `completionMarker` only, where it is required. | — |
| `judgeCriteria` | no | array of `string` | Gets the criteria the judge model scores the answer against. Read by `aiJudge` only, where at least one entry is required. | — |
| `judgeInstructions` | no | `string` | Gets the extra instructions handed to the judge model. Read by `aiJudge` only. | — |
| `modes` | no | array of `string` | Gets the agent modes the criterion applies to. Read by `todoCompletion` only. | — |
| `reviewerAgent` | no | `string` | Gets the name of the reviewer agent. Read by `agentReview` only, where it is required. | — |
| `reviewerAgentVersion` | no | `integer (int32)` | Gets the version of the reviewer agent. Read by `agentReview` only; `null` runs the reviewer's current version. | pattern `^-?(?:0\\|[1-9]\d*)$` |
