# Jev decides on the state you give it. Give it your team's decisions.

*Jev answers typed questions inside an agent loop. Its docs warn about noisy state. A graph of decisions in force is a small, clean state to decide against.*

A coding agent is about to call the payment provider straight from Checkout. Months ago the team put Payments behind its own service, and wrote down why. Whether the agent gets stopped depends on one small question asked at the right moment: does this edit undo something we decided?

Jev, the decision model from TypeSafe AI, is built for questions like that. It doesn't generate text. You send a state and a few typed questions, a yes or no, a pick from options you define, or a score on a rubric, and it returns typed answers. Choices and scores come with a confidence, and a yes or no comes back as a value between 0 and 1. That makes it a natural fit for the checkpoints inside an agent loop, where the answer needs to be a choice or a score rather than prose.

The catch is the state. Jev's own documentation lists it among the failure modes: "Accuracy falls as the state grows with content unrelated to the decision." Its advice is to filter in code first and send only the fields the question needs.

That's where most agent memory falls short. A long instructions file, a folder of notes or a handful of similar-looking chunks all hand over a lot of text that is probably related. That's the noisy state the docs warn about.

Disclosure first: kgai is our project. kgai, decision memory for AI dev teams, keeps a small graph of domain elements, such as Invoice or Checkout, joined by links, and every decision about them is an immutable event with a reason. Ask about the files an edit touches and you get only the decisions currently in force for that area. Reversed ones stay in the history and out of the answer. The result is short, current and structured, which is the shape Jev's docs point toward.

Two patterns we're exploring. Before an edit, send Jev the proposed change together with the decisions that govern those files, phrased as exact conditions. A high value on a question like "does this call the payment provider from outside Payments" stops the edit, and the agent sees the decision and why it was made. At the end of a turn, ask Jev whether the work changed structure at all, a split, a new dependency, a reversal, so the log collects decisions and skips renames and bug fixes. Neither is shipped. Jev is in limited early access and we haven't measured either pattern yet.

kgai is MIT and local-first, and team sync is opt-in through an S3 bucket you own. Why a log of reversals beats a tidy summary is covered in [dead ends are documentation](https://kgai.dev/blog/dead-ends-are-documentation).

## Try kgai

Two commands, MIT, nothing leaves your machine until you configure a bucket:

```
claude plugin marketplace add kgaidev/kgai
claude plugin install kgai@kgai-marketplace
```

Source: https://github.com/kgaidev/kgai
See how kgai compares to other tools: https://kgai.dev/compare
All notes: https://kgai.dev/blog/

---

Canonical: https://kgai.dev/blog/jev-decision-model-memory · Written by kgai maintainers · kgai is MIT open source
