decide
Ask typed yes/no, choice, or rubric questions about a state and get calibrated probabilities, chosen options, and confidence for classify, route, select, verify, rank.
Instructions
DECIDE — ask a System One decision model (TypeSafe Jev) typed questions about a state and get calibrated answers, not text. Question types: "noul" (yes/no → probability 0..1), "choice" (pick one of 2–255 named options → choice, per-option probabilities, confidence), "score" (ordered rubric of 2–10 levels → weighted position, per-level probabilities, confidence). Batch independent questions over the same state into one call: they are judged in parallel and in isolation, so none sees another's answer; each extra question adds its own input tokens. Best for fast semantic judgments (classify, route, select, verify, rank). Ask one narrow, coherent judgment per question, with its full meaning in the question; split independently useful dimensions, but a bounded action choice or contextual interpretation is a valid single question. Do counting, arithmetic, and date comparison in code. confidence measures how concentrated the distribution is, not permission to act: take the top option to pick a best, and treat a noul near 0.5 as "yes and no equally likely". Text only, no explanations are returned. Limits: ~64k tokens per request, ~32k for state plus the longest question.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Text files added to the state as { "files": { "<path>": "<content>" } }; a given state moves to "input". Supports line ranges: file.txt{10:50}. Images are rejected. | |
| model | No | Decision model. "auto" (default): TypeSafe, falling back to OpenRouter. "jev-latest", "jev-1.13": first configured provider that serves it, with fallback. "typesafe:jev-1.13.0", "openrouter:~typesafe/jev-latest": that provider only. Providers: typesafe (TYPESAFE_API_KEY), openrouter (OPENROUTER_API_KEY). | |
| state | No | The material to judge: plain text, or JSON (an object with descriptively named fields is best; an array for sequences such as messages). Optional when "files" is given. | |
| questions | Yes | Named questions, all answered against the same state. The name is your own label and is returned as the answer key. Each question: { "type": "noul"|"choice"|"score", "instructions": string|object|array, "criteria": ... }. criteria — noul: optional { "true": "...", "false": "..." }; choice: required { "<option>": "description" | null } (2–255 options); score: required ordered array of level descriptions, lowest first (2–10 levels). instructions may be an object bundling the question with reference data, referenced by `name` in the text. Example: { "team": { "type": "choice", "instructions": "Which team should handle this?", "criteria": { "billing": "Payments, refunds", "technical": "Bugs, outages" } } } |