Balanov/verdict

★ 223⑂ 0

A 197 KB local semantic verifier for AI agent tool calls. Exit code 0 is not proof.

About Balanov/verdict

Balanov/verdict is an open-source project on GitHub, mainly written in Python. A 197 KB local semantic verifier for AI agent tool calls. Exit code 0 is not proof. It currently holds 223 stars and 0 forks with 0 open issues, and was last pushed on 2026-11-02 (repository created 2026-11-02).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #84 with 0 new stars today.

GitHub Repository Details

Repository Balanov/verdict · default branch main · size 147 KB · watchers 2 · source: GitHub REST API and repository README

README

https://github.com/Balanov/verdict/blob/HEAD/Verdict logo

VERDICT

Exit code 0 is not proof.

A 197 KB local model that reads a CLI tool call and returns
success, failure, blocked, or unknown.

Verdict is a research preview of a semantic outcome layer for coding agents, CI runners, and tool-using systems. It looks beyond the process exit code and reads the command, stdout, and stderr. Inference runs locally on CPU with no Python dependencies.

Important: Verdict is an advisory classifier, not proof that a task or environment mutation completed. Keep deterministic checks and authoritative state verification as the source of truth.

Why

A process can exit successfully while running zero tests, returning an HTTP 500, waiting for a worker, or producing incomplete output. Conversely, a non-zero exit can describe an environment blocker rather than a failed assertion. Agents need that distinction before they retry, stop, or claim completion.

Benchmark

Evaluated on 192 synthetic examples from 48 CLI families entirely absent from training. Training used 1,440 synthetic examples from 60 different families.

| Model | Accuracy | Macro-F1 | Size | Median inference | |---|---:|---:|---:|---:| | Verdict 0.1 (int8) | 93.2% | 93.2% | 197 KB | 0.54 ms | | Exit-code baseline | 47.9% | 31.9% | — | — |

Latency is the median of 576 predictions on Windows 11 / AMD64 / Python 3.12, including feature extraction and the Python API call. These are reproducibility measurements, not cross-hardware promises. See bench/results.json and reproduce with python training/train.py.

The corpus is synthetic and English-biased. The benchmark measures generalization across held-out templates, not reliability on production agent traces. Real-trace validation is the next milestone.

Install and run

git clone https://github.com/Balanov/verdict.git
cd verdict
python -m pip install .
from verdict_tiny import Verdict

model = Verdict() result = model.predict( command="pytest tests/", exit_code=0, stdout="collected 0 items\nno tests ran in 0.01s", ) print(result)

{
  "label": "unknown",
  "confidence": 0.999981,
  "probabilities": {
    "success": 0.000019,
    "failure": 0.0,
    "blocked": 0.0,
    "unknown": 0.999981
  },
  "advisory": true
}

CLI

printf 'collected 0 items\nno tests ran\n' | verdict \
  --command 'pytest tests/' --exit-code 0

Use --stdout output.log, --stderr error.log, and --weights /path/to/verdict-q8.bin when needed.

Browser demo

The project page runs the same quantized weights in your browser. Logs are not uploaded.

Output contract

| Label | Meaning | |---|---| | success | Output contains positive evidence that the operation completed. | | failure | The operation ran and reported a concrete failure. | | blocked | Permissions, dependencies, network, quota, or environment prevented execution. | | unknown | Evidence is absent, incomplete, skipped, dry-run-only, or otherwise inconclusive. |

Probabilities come from a linear multiclass model and are not calibrated confidence in a safety-critical sense. Use thresholds and human or deterministic review for consequential actions.

Model

Verdict is deliberately narrow: it classifies observed CLI evidence; it does not judge task completion, code correctness, safety, or truthfulness.

Reproduce

python -m pip install -e '.[train,dev]'
python training/train.py
pytest -q

The training script regenerates the public corpus, trains from scratch, exports int8 weights, evaluates the quantized artifact, and writes benchmark metrics.

Repository layout

assets/              logo and editable vector source
bench/               measured metrics
data/                synthetic train and held-out test JSONL (CC0)
src/verdict_tiny/    zero-dependency inference and CLI
training/            corpus, features, training and export
weights/             release weights and config
site/                multilingual research page and browser demo

License

Code and model weights: Apache-2.0. Synthetic dataset: CC0-1.0. Fork it, modify it, ship it. See LICENSE and data/LICENSE.

Cite

@misc{balanov2026verdict,
  title  = {Verdict: Tiny Semantic Outcome Verification for AI Agents},
  author = {Balanov, Anton},
  year   = {2026},
  url    = {https://balanov.pro/research/verdict/}
}

GitHub Stars & Activity

223Stars
0Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars223
Forks0
Open issues0
Primary languagePython
LicenseApache-2.0
Stars gained today0
Created2026-11-02
Last pushed2026-11-02

Trending History

Daily boardrank #84 · ▲ 0 stars

Related AI Projects

1

NousResearch / hermes-agent

Python★ 260,208⑂ 0
→
2

Significant-Gravitas / AutoGPT

Python★ 187,887⑂ 0
→
3

anthropics / skills

Python★ 187,054⑂ 0
→
4

huggingface / transformers

Python★ 168,498⑂ 0
→
5

langgenius / dify

Python★ 160,336⑂ 0
→
6

calesthio / OpenMontage

Python★ 75,895⑂ 10,037▲ 836 stars
→
7

blader / humanizer

Python★ 64,352⑂ 5,079▲ 460 stars
→
8

karpathy / nanochat

Python★ 60,176⑂ 8,442▲ 551 stars
→

More AI Rankings