01 · Capture
Log every decision
Through the proxy or the logging API. Probabilities, model version, latency and cost. Raw state is never stored.
Open source · Apache-2.0 · pre-alpha
trimset is decision ops for decision models like Jev, Ollaya and Ollama. It logs every decision, joins it to what really happened, refits your thresholds and tells you when the model drifts.
$ docker compose up -d # trimset on :8800
# before: straight to your model base_url = "https://api.typesafe.ai" # after: through trimset, zero code changes base_url = "https://trimset.example.com/p/tsp_…" # then gate with the live policy, locally d = ts.gate("refund_fraud", p=0.83, model_served="jev-1.14.0") d.action # ESCALATE (policy v7)
Everyone writes if p > 0.9 and never checks it again. trimset closes the loop in four steps.
01 · Capture
Through the proxy or the logging API. Probabilities, model version, latency and cost. Raw state is never stored.
02 · Join
Chargebacks, reviewer labels, reassignments. Outcomes arrive hours or months later and attach to the original decision.
03 · Refit
State a target like "at most 2% false passes". trimset recalibrates and proposes thresholds and an escalation band.
04 · Enforce
You approve, the SDK picks it up and gates locally, with no network call on the request path. Roll back with one command.
Pick how much manual review you can afford per error avoided. trimset shows the curve on your own traffic, not a vendor benchmark.
| Accept below | Automated | Auto-path errors | Sent to review |
|---|---|---|---|
| 0.10 | 91.9% | 0.58% | 8.1% |
| 0.26 ✓ proposed | 96.3% | 1.66% | 3.7% |
| 0.30 | 97.3% | 2.19% | 2.7% |
Each use case is a real question an app asks a decision model, the outcome that comes back later, and the target its policy has to meet.
Pre-alpha. The roadmap says what works today and what is coming.
Temperature, Platt and isotonic fits per question wording and model. Never pooled across them.
Confident cases run on System One. The uncertain middle goes to an LLM or a human.
Label-free distribution drift with significance tests, so small samples don't page you at 3 a.m.
Know the moment an alias like jev-latest starts answering with a new version. trimset already records which version answered.
Run an open model next to your hosted one on live traffic and compare before you switch.
Escalated cases land in a queue. Every reviewer label becomes training signal for the next refit.
One docker compose, Postgres underneath, no account needed. A Python SDK; TypeScript comes in v0.2.
git clone https://github.com/trimset/trimset cd trimset # two secrets in .env first: see Self-hosting docker compose up -d pip install trimset # the Python SDK, from the first release