Decisions
Choose where Chat sends the short yes/no and pick-one questions it asks a model, such as whether a research run tested its idea.
2 min readUpdated for Chat 0.5.2Edit on GitHub
POST /v1/verdictsChat asks these questions in the verdicts format: a state, typed questions, and a probability for every answer. Any service that accepts that request can answer, so the gateway is one choice among several. When decisions are off or an endpoint fails, the feature that asked goes on without an answer.
Choose where to ask
- 1
Open Settings › Administration › System
The Decisions card shows where questions go now.
- 2
Pick an endpoint
This gateway, Another endpoint with its URL and key, or Off.
- 3
Check, then save
Check asks a sample question with the values in the form, saved or not, and says which model answered and how long it took. Save applies them on every replica.
| Endpoint | Who asks | Whose usage |
|---|---|---|
| This gateway | The person the question is for, with their gateway identity | That person's, under their limits |
| Another endpoint | Chat, with the key you enter | The key's |
| Off | Nobody | None |
Another endpoint
Enter the address that takes POST requests in the verdicts format. An address with no path, or one ending in /v1, gets /v1/verdicts added, so another obleth gateway's base URL works as it is. Any other path is used as given.
- Key. Sent as
Authorization: Bearer <key>. Chat encrypts it withOBLETH_CHAT_SECRET_KEY_FILE, so saving one needs that file. Leave the field blank to keep the saved key. If the secret key changes, Chat can't read the saved key and says so rather than asking without it. - Redirects aren't followed, so the key goes only to the address you entered.
- People's own gateway tokens never go to another endpoint.
The model
Leave Model blank to let the endpoint choose. On obleth that's the model under Settings › Routing › Verdicts, or auto when none is set. The model must return token probabilities (logprobs): self-hosted servers such as vLLM, SGLang and llama.cpp do, and many hosted APIs don't.
What uses decisions
| Feature | What it asks | Turn it off |
|---|---|---|
| Research run checks | Whether a finished run really tested its idea | Untick Check research runs |
What Chat sends and reads
A run check sends:
{
"state": {
"goal": "Lower validation loss",
"idea": { "title": "Higher learning rate", "description": "Raise lr from 3e-4 to 1e-3" },
"change_from_parent": "-lr = 3e-4\n+lr = 1e-3\n",
"output": "config: lr=0.0003\n…\nloss=2.41\n",
"result": "loss=2.41"
},
"questions": {
"tested": { "type": "boolean", "instructions": "…", "criteria": { "true": "…", "false": "…" } }
},
"on_no_answer": "low_confidence"
}
model is added only when you set one. Chat reads the response's model and, for each question, probabilities.true (or value), confidence and answered. A question the model left unanswered (answered: false) counts as no answer. A check waits up to 30 seconds, and sends the first 16 KB of the change and the last 8 KB of the output.
