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 inrequires=, 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.Knowledgeaccepts 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)