A rule without a predicate needs judgment. Claros doesn’t ask the agent under check to judge itself: the server does, in the same /v1/check call.

What it sees

One fast-model call per check covers every fuzzy rule in scope. It gets:
  • the rule, the owner’s words, the rule’s step and what Claros does if it’s broken (if_violated);
  • the record’s fields, per line (up to 20 lines);
  • context the tool mapping read from the app, for example an item’s name and description, or how many invoices a supplier has had.
Rules out of scope for this call are not sent.

What comes back

A violation under the confidence bar (0.75) counts as can’t tell. Rules the first call misses are retried once each, inside a 4.5 s budget. The guard’s own timeout for the whole check is 5 s. The guard shows the reason as “Why Claros stopped it”. Reasons are model output, not evidence: the logged record and the rule are.

Caching and cost

Verdicts are cached per rule, map version and record (10 minutes), so a retry gets the same answer. A judged check takes about 1 to 2 s; precise-only checks take milliseconds. See Evaluation for accuracy and its limits.

Server settings