OBLETHdocs

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

Set itSettings › Administration › System › Decisions
DefaultThe gateway, as each person
FormatVerdicts, POST /v1/verdicts
Used forResearch run checks

Chat 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. 1

    Open Settings › Administration › System

    The Decisions card shows where questions go now.

  2. 2

    Pick an endpoint

    This gateway, Another endpoint with its URL and key, or Off.

  3. 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.

EndpointWho asksWhose usage
This gatewayThe person the question is for, with their gateway identityThat person's, under their limits
Another endpointChat, with the key you enterThe key's
OffNobodyNone

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 with OBLETH_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

FeatureWhat it asksTurn it off
Research run checksWhether a finished run really tested its ideaUntick 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.