> ## 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.

The Millwork CLI includes output-check examples and local tests. Run a
generated example before changing it. No organization key or endpoint is needed.
Already have a compatible HTTPS check?
[Connect it directly](/guides/connect-an-output-check#prepare-the-endpoint).

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

## Choose a recipe

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

| Start with                                           | Included example and next step                                                                                                                            |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| An existing HTTPS check                              | [Connect the endpoint you have](/guides/connect-an-output-check#prepare-the-endpoint). Skip the generated sample.                                         |
| Fields, types, or exact math                         | [Check structured output](/cookbook/output-checks/structured-output). Includes JavaScript invoice rules and local cases; replace the rules with yours.    |
| Labels, scoring, routing, or citations               | [Add a semantic judgment](/cookbook/output-checks/semantic-judgment). Includes an offline citation example; connect your evaluator later.                 |
| A citation-support decision you want Jev to judge    | [Check citations with Jev](/cookbook/output-checks/jev-citation-check). Start with the offline sample, then connect TypeSafe's model.                     |
| Ranking, moderation, or an existing policy evaluator | [Connect an existing evaluator](/cookbook/output-checks/evaluator-adapter). Includes an offline adapter; connect your service later.                      |
| Artifacts and tests from an agent or pipeline        | [Verify agent or pipeline completion](/cookbook/output-checks/completion-evidence). Includes a local evidence sample; connect your trusted records later. |

For a long-running research agent, use Recipe D's
[Temporal quality-gate example](/cookbook/output-checks/completion-evidence#durable-research-quality-gate).

Each recipe selects one example from the same CLI kit. The Jev page adapts the
semantic-judgment example; it does not require Temporal. Use
[Connect an output check](/cookbook/output-checks/build-the-dock) afterward for
deployment, access, connection, and receipts.

## Try an included example

With Node.js 20 or newer, [install the supported CLI](/get-started/tenant-start#run-your-next-task),
then check its version:

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

Use the pinned version from the install guide. The cookbook examples need
version `0.1.18` or later. A recipe's first command copies an existing check
into your directory; its local test shows a pass, a rejection, and an
unavailable case. Those tests do not approve or start a paid Millwork run.

**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>

## 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.
