> ## Documentation Index
> Fetch the complete documentation index at: https://secndai.manicule.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For every page in one file, fetch https://secndai.manicule.dev/llms-full.txt (large).
> To search and read these docs as tools, connect the MCP server at https://secndai.manicule.dev/api/mcp.
> Every agent surface: https://secndai.manicule.dev/.well-known/llms-manifest.json

# Companion true/false check (/patterns/companion-check)

<!-- agent-signals: reading_time_min: 1 · est_tokens: 295 · updated: 2026-11-12 -->
Related: [Confidence routing](/patterns/confidence-routing.md), [Escalate to a human](/patterns/escalate-to-human.md), [Batching and concurrency](/patterns/batching.md)

> Check category fit before trusting a forced choice.

A choice is relative to the offered options. If none fits, it can still assign one option a large probability. Ask a separate true/false question about whether the available categories cover the case.

```json title="request"
{
  "model": "ren-zero-2026-11-12",
  "type": "noul",
  "situation": "Ticket: Please change my postal address. Available queues: billing handles charges; delivery handles shipments.",
  "question": "Does at least one of the described queues clearly cover this request?",
  "threshold": 0.9
}
```

Only proceed to the choice request when the check returns both `choice: "true"` and `action: "act"`. A confident false also returns `act`; it should route to review or a fallback, not to the choice action.

Use the same facts and category descriptions in both requests. Record both resolved model IDs. If either request fails or asks for a human, keep the whole case in review.

These judgments can share the same blind spots. Do not multiply their probabilities or treat the pair as an independent proof. Compare the complete two-step policy against a single choice with an explicit fallback option.
