GELTRE DOCUMENTATION
Console · Nichols AI home
GET STARTED

Quick start

Send structured state plus one typed decision question. Geltre uses that question to select evidence; JEV answers the same question from the reduced state.

Question-first contract
You do not write a separate Geltre task in the normal paired flow. The questions object defines the judgment once. Sign in at console.nicholsai.com with email or Google OAuth to create a Geltre account and machine API key.

Geltre + JEV request

curl https://api.nicholsai.com/v1/decide \
  -H "Authorization: Bearer $GELTRE_API_KEY" \
  -H "Idempotency-Key: req_123" \
  -H "Content-Type: application/json" \
  -d '{
    "state": [
      {"ref":"policy:1","source":"policy","text":"target service expected mode running; restart policy on failure"},
      {"ref":"status:1","source":"status","text":"target service failed after the latest start attempt"},
      {"ref":"status:2","source":"status","text":"unit status exit code 1"}
    ],
    "questions": {
      "should_restart": {
        "type": "noul",
        "instructions": "Should the target service be restarted after this failure?",
        "criteria": {
          "true": "Restart is appropriate under the configured failure policy.",
          "false": "The service should not be restarted."
        }
      }
    },
    "budget": 2,
    "profile": "serviceops"
  }'

Response shape

{
  "pipeline": "geltre+jev",
  "state_items": 3,
  "selected_items": 2,
  "geltre": {
    "evidence": [ ... ],
    "model": "geltre-serviceops-linear-v03",
    "usage": { "input_tokens": 36, "charged_microcents": 180 }
  },
  "jev": {
    "model": "typesafe/jev-...",
    "answers": {
      "should_restart": { "type": "noul", "noul": 0.97 }
    },
    "usage": { "input_tokens": 18, "cost_usd": 0.000000756 }
  }
}

Geltre only

Use POST /v1/orient when you want only evidence selection. It remains the low-level API. The console's Geltre-only mode still derives the selector objective from the typed question, so the user never has to describe the same judgment twice.

Important

  • Use a unique Idempotency-Key for each logical request.
  • Evidence refs must be unique within the submitted state.
  • JEV question types are noul, choice, and score.
  • profile="serviceops" is the default. profile="codeops" is an explicit alpha locked to its validated budget-5 reliability contract.
  • Production machine keys use the gt_live_... prefix and are shown only once when created.