> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getmillwork.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose an output-check recipe

> Choose the output-check recipe that fits your decision, then follow one path from local test to receipt.

Choose the decision your check must make. Use code for exact rules, an evaluator
for judgment, and a person for exceptions or high-impact decisions. Every path
joins [Recipe 0](/cookbook/output-checks/build-the-dock) for connection, an
approved run, receipts, and recovery.

<span id="choose-by-decision-or-job" />

## Choose a recipe

<span id="start-from-your-current-state" />

| Start with                                           | Recipe and when to review                                                                                                                                        |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| An existing HTTPS check                              | [0 · Connect and run](/cookbook/output-checks/build-the-dock). Begin at **Test an existing check locally**.                                                      |
| Fields, types, or exact math                         | [A · Structured output](/cookbook/output-checks/structured-output). Code checks the structure and rules; a person handles exceptions or legal meaning.           |
| Labels, scoring, routing, or citations               | [B · Semantic judgment](/cookbook/output-checks/semantic-judgment). Code checks allowed values and evidence; a person handles uncertainty or high-impact action. |
| Ranking, moderation, or an existing policy evaluator | [C · Existing evaluator](/cookbook/output-checks/evaluator-adapter). Code checks eligibility and hard policy; a person handles uncertain or appealable results.  |
| Artifacts and tests from an agent or pipeline        | [D · Completion evidence](/cookbook/output-checks/completion-evidence). Code checks trusted evidence; a person handles missing or failed checks.                 |

Recipes A through D create the same starter project and select one example check. Use
Recipe 0 afterward for deployment, access, connection, and receipts.

**Verdict rule:** `is_correct` is the hard decision. `quality_score` grades
quality from 0 to 1 and cannot override rejection. Timeout, unreachable
endpoint, authentication refusal, or malformed response means **no verdict**.

<Accordion title="Example: a successful check response">
  ```json theme={null}
  {
    "is_correct": true,
    "quality_score": 0.84,
    "anchor_results": {
      "required_fields_present": true
    }
  }
  ```

  `anchor_results` is optional. Its named booleans explain which exact rules
  passed or failed. [Read the endpoint contract](/cookbook/output-checks/build-the-dock#the-endpoint-contract)
  before implementing a check.
</Accordion>

## Check your setup

[Install the supported CLI](/get-started/tenant-start#run-your-next-task),
then check its version. This does not need an account key.

```bash theme={null}
millwork --version --json
```

**Expected result:** the version is `0.1.17` or later. If it is lower, or if
the command is missing, repeat the linked install step before you continue.

## Who does what

| Role                | Owns                                                                          |
| ------------------- | ----------------------------------------------------------------------------- |
| You                 | Rules, private key entry, and approvals.                                      |
| Assistant or client | Scaffold and local pass/fail tests; report results before deployment.         |
| Millwork            | Endpoint probe, approved routing, verdicts, receipts, usage, and cost.        |
| Your endpoint       | Candidate evaluation; keep credentials, traces, and datasets in your service. |

The deployment owner approves deployment. The endpoint owner approves test
traffic. The evaluator-account owner approves evaluator spending. An authorized
person approves each paid Millwork run.

## Choose public or protected access

| Access    | Use when                                                                                                                           |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Public    | Anyone who can reach the URL may submit a candidate and read its verdict.                                                          |
| Protected | Content or verdicts are private. Enter the key on Millwork's private page, never in chat, a URL, a receipt, or a command argument. |

Connection and testing do not approve a paid run.

## Keep control when an assistant helps

Give an assistant the recipe and non-secret rules. Ask for local results before
deployment; enter credentials yourself. Approve endpoint test traffic and
evaluator cost before they occur, then inspect the preview before each paid run.
