AGENTS & WORKFLOWS / YES / NO

AI Agent Completion Checks with Jev Yes / No

Check whether an AI agent has met a task’s completion criteria. Use Jev Yes / No with observable evidence, retry limits, and an explicit stop policy.

By AIJev Editorial · Reviewed September 18, 2026 · Interactive walkthrough

The scenario

An agent can keep searching even after it has assembled the requested deliverable. A focused completion check makes the stopping condition explicit. The evidence should describe observed output and tool results, not simply repeat the agent’s claim that its work is finished.

Define the decision boundary

Completeness is not correctness. A draft may contain every requested field while listing outdated hours. Validate external facts separately and enforce hard time, cost, and step limits regardless of the model’s answer.

From input to next step

  1. Write an observable completion criterion before running the agent.
  2. Compare the criterion with the actual artifact and recorded actions.
  3. Stop, request a missing item, or escalate while retaining deterministic execution limits.

Try it. Then change one thing.

Compare the original scenario with a deliberate variation. You can edit either input, run Jev, inspect the result, and share your decision card. Loading an example does not send a model request.

What to look for: Yes is plausible for the described artifact because all required fields are present. The example does not verify any museum’s actual opening hours.

Start with the original input, then compare the variation. Run each scenario to see the real model response. Switching scenarios resets the form and result.

⌘ Playground v1.13
typesafe/jev-1.13↗
01 / INPUT
337 / 20,000
◐
A small question. A clear decision.

Jev returns a probability between 0 and 1. We show Yes at 0.5 or above.

50 free / IP decisions per day↻ --:--:--
02 / OUTPUT
⑂

A little context.
A clear decision.

Give Jev a state and a question.
Your decision, probabilities, and insights
will appear right here.

Ready when you are
START WITH AN EXAMPLE
FROM PLAYGROUND TO PRODUCTION

Take the pattern to
your next build.

Inspect the request shape.
Build with Jev through its official docs.

Visit Jev official docs ↗
AIJEV PLAYGROUND REQUEST SHAPE.
{
  "playground": "https://aijev.net",
  "language": "JavaScript",
  "request": {
    "model": "typesafe/jev-1.13",
    "state": "Task: Prepare a draft itinerary with three museum options, opening hours, and a source link for each. Do not book anything.\nObserved output: A draft lists three museums, each with opening hours and a source URL. No booking action was attempted.\nCompletion criterion: All requested fields are present in the draft and no booking was made.",
    "questions": {
      "decision": {
        "type": "noul",
        "instructions": "Does the observed output satisfy the stated completion criterion?"
      }
    },
    "provider": {
      "allow_fallbacks": false
    }
  },
  "note": "AIJev Playground request shape only. For application integration, visit https://docs.typesafe.ai."
}
AIJev Playground only Not a public integration API

Experiment: leave one required field missing

Look for No. A partial artifact should not pass merely because the correct number of museums appears.

Use the second scenario tab above to load this variation. Compare the returned decision as well as any probabilities: a changed answer can reveal an unclear policy, and an unchanged answer can reveal that the relevant detail was not captured by your question.

Use this pattern in your application

This playground request shape uses the original scenario. It is a reference for the input, not a public integration endpoint. For application integration, follow the official TypeSafe documentation linked in our Jev API guide. Keep API keys on the server and validate the returned type before taking action.

{
  "playground": "https://aijev.net",
  "language": "JavaScript",
  "request": {
    "model": "typesafe/jev-1.13",
    "state": "Task: Prepare a draft itinerary with three museum options, opening hours, and a source link for each. Do not book anything.\nObserved output: A draft lists three museums, each with opening hours and a source URL. No booking action was attempted.\nCompletion criterion: All requested fields are present in the draft and no booking was made.",
    "questions": {
      "decision": {
        "type": "noul",
        "instructions": "Does the observed output satisfy the stated completion criterion?"
      }
    },
    "provider": {
      "allow_fallbacks": false
    }
  },
  "note": "AIJev Playground request shape only. For application integration, visit https://docs.typesafe.ai."
}

How to evaluate this workflow

Test premature stops and unnecessary continuations separately. Keep examples where the agent claims success despite missing evidence. Inspect actual artifacts when labeling completion, and track repeated repair loops.

Save a held-out set before changing your instructions. Compare new versions against the same examples, and review disagreements instead of assuming a valid response is a correct one. For escalation design, see confidence-based routing.

Frequently asked questions

Should No cause another agent run automatically?+

Only within your controller’s limits. A missing fact may be unavailable, and repeated attempts may not help. Keep a maximum retry count and an explicit path for unresolved tasks.

Are these results from a real customer deployment?+

No. These are original educational scenarios. The expected outcomes are editorial hypotheses; clicking Run Jev sends the displayed input to the model and shows its actual response.

Can I adapt this example to my own workflow?+

Yes. Replace the context, define your choices or rubric, and test against examples from your domain. The playground uses text input. Do not include credentials or unnecessary personal information.

References & further reading

Background on routing and evaluation workflows. Our requests and experiments below are original educational examples, not customer deployments. See Anthropic: Building effective agents.

For the underlying decision primitives, read TypeSafe’s System One documentation and our guide to Choice, Score, and Noul.