Skip to content
aityx
Esc
↑↓navigate↵open⌘Jpreview
On this page

Questions

The five question types, their criteria, and the answer each returns.

questions is a map from an id to a question. Ids are letters, digits, underscores and spaces, starting with a letter or underscore. Each question has a type, instructions, and type-specific criteria.

Choose the type of answer your application needs: a decision, an ordered rating, a calculated quantity or a date.

Type Asks for criteria Answer
noul Is this true? optional { "true": …, "false": … } noul, a probability 0 to 1
choice One of a set option name → description, 2 to 255 options choice, confidence, probabilities
score A level on an ordered scale ordered array of 2 to 10 levels score, level, confidence, probabilities
number A computed quantity optional { "unit": …, "range": … } number, confidence
date A computed date none date, confidence

options is accepted as an alias for choice criteria and levels for score criteria, as in Jev.

Instructions and criteria

instructions describes the decision, including the policy conditions the generated rules must implement. It can be a string, an object or a list; structured content is kept as canonical JSON text. Criteria describe each answer value in the words of your policy.

{
  "is_urgent": {
    "type": "noul",
    "instructions": "Does this ticket need priority review?",
    "criteria": {
      "true": "An ongoing issue is blocking normal business operations.",
      "false": "A general question or a non-blocking request."
    }
  },
  "owner": {
    "type": "choice",
    "instructions": "Which team should own it?",
    "criteria": { "payments": "money movement", "platform": "outages and errors", "other": "anything else" }
  },
  "severity": {
    "type": "score",
    "instructions": "How severe is it?",
    "criteria": ["low", "medium", "high"]
  },
  "credit_days": {
    "type": "number",
    "instructions": "For how many days should service credit apply?",
    "criteria": { "unit": "days", "range": "[0..365]" }
  },
  "respond_by": {
    "type": "date",
    "instructions": "By when must the customer receive an answer?"
  }
}

The range of a number question is a condition, such as [0..1000] or > 0.

How a question becomes a decision

For every question there is exactly one decision in the model with the same name, typed by the question kind: a noul is a boolean decision, a choice is a decision typed by its options, a score by its ordered levels, a number and a date by their type. The generator may add intermediate decisions; it may not add outputs you did not ask for.

Answers

This illustrative response shows the fields for each type; it is not a recorded execution of the questions above. Number and date outcomes require explicit policy rules, such as a credit period and response window.

{
  "answers": {
    "is_urgent": { "type": "noul", "noul": 0.98 },
    "owner": { "type": "choice", "choice": "platform", "confidence": 1.0, "probabilities": { "platform": 1.0 } },
    "severity": { "type": "score", "score": 2.0, "level": "high", "confidence": 1.0, "probabilities": { "2": 1.0 } },
    "credit_days": { "type": "number", "number": 14, "confidence": 1.0 },
    "respond_by": { "type": "date", "date": "2026-10-18", "confidence": 1.0 }
  }
}

When every input is given as matching structured data, every answer is certain and the probabilities collapse to one value. When the reader had to extract an input, the reader’s uncertainty propagates through execution; answers may carry probability mass on more than one outcome. An input probability does not necessarily equal an answer’s confidence. See Determinism and confidence.

Was this page helpful?