DEV Community

Cover image for Solvi 1.0 brings checks, tool guards and replay to AI decision systems
Agentic Affairs
Agentic Affairs

Posted on Originally published at agentic-affairs.com

Solvi 1.0 brings checks, tool guards and replay to AI decision systems

Solvi 1.0: Propose the Answer, Earn the Authority to Act

Most AI agents decide and act in one motion. Solvi 1.0 splits the two apart: proposing an answer is cheap, but earning the authority to act on it requires checks, guards, evidence, and replayable records. The open-source Python library from Maxim Kuznetsov gives AI decision systems a separation of powers.

Proposing an answer ≠ being allowed to act

The central idea: hard checks can force an outcome regardless of the model's confidence, a tool guard decides whether a proposed call is allowed, denied, or escalated to a human, and a knowledge store tracks where accepted information came from. The library constructs these decision systems — it doesn't train a new model.

Two decision paths, one human

  • System 1 (fast path): rules, plain code, or small fitted models answer alone — but only under a calibrated promise measured on labelled examples it never saw during fitting.
  • System 2 (slow path): an LLM or search takes the cases the fast path can't handle, again only where it meets the promise.
  • The human: whatever neither path can resolve goes to a person, with candidate answers and reasons. Escalation is part of the process, not a failure mode.

What changed in 1.0

  • then= now wires a hard check into the question's flow automatically — previously you also had to list it in requires=, and forgetting that step could let a question be answered as though the check had passed.
  • All decisions land in hash-chained records you can replay — tamper with one stored value and the hash mismatch flags it. Redaction erases personal data while keeping the chain verifiable.
  • solvi.Knowledge accepts information only from a person, an outcome, a spec, or a verified answer — never from the system's own unverified output. Provenance is a boundary, not a log line.

Guard your tool calls, mind your knowledge

  • solvi.Guard: an agent proposes a call instead of executing it. The guard allows it (Solvi runs the function), denies it with reasons, or escalates.
  • Retraction test: 1,000 out of 1,000 random retractions on a 10,000-item synthetic store produced the same fingerprint as rebuilding the store as if the item had never been written.

Python 3.11+, pip install solvi. Moving from 0.9: old import paths keep working through 1.0.x with warnings, and solvi migrate PATH handles the upgrade.

Go deeper

Read the full analysis: Solvi 1.0 brings checks, tool guards and replay to AI decision systems


Originally published on Agentic Affairs (https://agentic-affairs.com)

Top comments (0)