Skip to content
Made with Jev

GitHub · by Sharvil Saxena

SemDecide

grep for meaning and jq for judgment, with a Unix exit code.

Sharvil Saxena’s command-line tool puts typed decisions into shell pipelines and CI. Pipe in text or JSONL and get a predicate, a route, a score, a filtered stream and a stable process exit code, without writing the prompt, the parser, the retry or the confidence handling yourself.

The example in the README is one line: pipe “Login from a new country, followed by payout changes.” into `semdecide is 'This describes a plausible account takeover'` and get back `TRUE probability=0.860 threshold=0.700`. The threshold is the part that makes it a Unix tool — the probability is not hidden, and the exit code follows the comparison, so the decision composes with `&&` and `||` like anything else in a shell.

The argument for it is that exact string rules cannot express “this customer is likely to churn”, “this change introduces a breaking API behaviour” or “this response is grounded and complete”. A general language model can, but it is awkward in a shell script: it generates text that has to be parsed, it is slow and expensive by comparison, and it tends to hide its uncertainty. SemDecide needs Python 3.10 or newer and a TypeSafe API key; it is not on PyPI yet, so it installs from a signed GitHub release artifact.

sharziki/semdecide on GitHub

Stars
33
Forks
4
Language
Python
Last push
Sep 16, 2026

Repository created Sep 16, 2026. Counts read from the GitHub API on Sep 22, 2026, and they move daily — quote them with the date.

Open the source

More like this