Skip to content
Made with Jev

GitHub · by Sharvil Saxena

SemDecide

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

GitHub card for SemDecide

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
78
Forks
10
Language
Python
Last push
Sep 16, 2026

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

Open the source

More like this