systemone
Standard-library-only Go library for typed choice, score and noul decisions with backends for TypeSafe Jev and OpenAI Decisions.
Overview
systemone by olivere is a small Go library, using only the standard library, for typed AI decisions. Application code defines Choice, Score and Noul questions once, evaluates them together and reads results through the same typed handles. Model selection and credentials live in backend setup: a jev package supports TypeSafe's HTTP API and an openai package supports the OpenAI Decisions API.
The README includes a live example that classifies a support ticket by department, urgency and refund request, and stresses that sample probabilities vary by model version. It is careful about calibration: Jev's confidence is derived from its distribution and is not P(correct), so users should fit and test thresholds for their own population. Structured content following the TypeSafe API contract is supported through additive constructors. It suits Go developers who want a provider-neutral decision layer with strict HTTP limits and no third-party dependencies.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which team should handle this ticket? | billing · technical |
| Score | How soon does this ticket need attention? | Can wait until next week · Needs attention today · Blocked and needs attention now |
| Yes / no | Does the customer request a refund? | — |
How it works
- Define typed questions with MustChoice, MustScore and MustNoul.
- Configure a jev or openai backend with credentials.
- Call client.Ask with the state and questions.
- Read answers through each handle and apply your own thresholds.
Strengths
- No third-party dependencies.
- Same application code works with Jev or OpenAI Decisions.
- Clear guidance not to treat confidence as accuracy.
Caveats
- Requires a recent Go toolchain (1.27.2 or newer).
- Needs a hosted provider key.
- No licence stated in the README excerpt.
Getting started
go get github.com/olivere/systemone, then run mise exec -- go run ./examples/jev with TYPESAFE_API_KEY set.At a glance
- Type
- Library
- Status
- beta
- Language
- Go
- Runtime
- library
- Has code
- yes
Use cases and integrations
How curated lists describe it
Small, standard-library-only Go library for typed decisions with Jev and other…
wh000wh000/awesome-jev-live
Frequently asked questions
Which providers are supported?
TypeSafe's Jev HTTP API and the OpenAI Decisions API, each as a separate backend package.
Is Jev's confidence a probability of being correct?
The README says no; it is derived from the distribution, so thresholds should be fitted on your own data.
Does it have dependencies?
No, it uses only the Go standard library.
Related projects
Local service to define, test and publish versioned Jev judgment functions, callable over HTTP by backends and over MCP by agents.
MCP serverbetaTypeScriptRuby gem that stores Jev Noul, Choice and Score answers about a record's text as ordinary ActiveRecord columns you can query.
LibrarybetaRubyUnofficial Go client for TypeSafe System One with generics that bind each choice, score and noul answer to a declared Go type.
ProjectbetaGoPython dialect that adds a '~' operator and jev/case blocks so a branch can ask Jev a yes/no, scale or choice question.
ProjectprototypePythonProvider-independent .NET decision engine with a separate TypeSafe Jev provider package mapping Choice, Score and Noul to /v1/systemone.
LibrarybetaC#Elixir/OTP library treating Jev as a peer process whose answers arrive as messages you pattern match in GenServer clauses.
LibrarybetaElixir