Skip to content

madoo.decision/v1

Madoo decision — What Decide with a Model answered: for each question the answer, the probability of every option or level and whether it reached its threshold (accepted, uncertain, refused or invalid).

Reference madoo.decision/v1
Schema id urn:madoo:schema:decision:v1
Version 1.0.0
Served at GET /api/v1/json-schemas/madoo.decision/v1 · MCP get_json_schema
  • Produced by: ai/decide → decision
Field Type Required Rules Description
schema "madoo.decision/v1" yes
model string yes The public id of the model that answered.
all_accepted boolean yes True when every answer is accepted.
answers array of objects yes min items 1
answers[].name string yes
answers[].type one of "yes_no", "choice", "score" yes
answers[].status one of "accepted", "uncertain", "refused", "invalid" yes accepted: the probability reached the threshold. uncertain: it did not. refused: the model declined this question. invalid: the answer was missing or malformed. Only accepted answers should drive a decision.
answers[].threshold number yes ≥ 0; ≤ 1
answers[].value boolean or string or number or null yes yes_no: true or false, the more probable; choice: the chosen option; score: the score, from 0 (first level) to the number of levels minus one, possibly between two levels. Null when refused or invalid.
answers[].probability number or null yes ≥ 0; ≤ 1 yes_no: the probability that the statement is true; choice: the probability of the chosen option; score: the probability of the most likely level. Null when refused or invalid.
answers[].level string or null score only: the label of the most likely level.
answers[].confidence number or null choice and score: how concentrated the probabilities are (1 = all on one answer), as reported by the model. Not a probability: thresholds apply to probability.
answers[].options array of objects choice only: every option with its probability, in the order of the question.
answers[].options[].value string yes
answers[].options[].probability number yes ≥ 0; ≤ 1
answers[].levels array of objects score only: every level with its probability, lowest first.
answers[].levels[].label string yes
answers[].levels[].probability number yes ≥ 0; ≤ 1
madoo.decision/v1 (JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:madoo:schema:decision:v1",
"title": "Madoo decision",
"description": "What Decide with a Model (ai/decide) answered: for each question, in the order asked, the answer, the probability of every option or level and whether the answer reached its threshold. Probabilities are the model's estimates, not certainties; set thresholds from labelled examples.",
"type": "object",
"required": [
"schema",
"model",
"all_accepted",
"answers"
],
"additionalProperties": false,
"properties": {
"schema": {
"const": "madoo.decision/v1"
},
"model": {
"type": "string",
"description": "The public id of the model that answered."
},
"all_accepted": {
"type": "boolean",
"description": "True when every answer is accepted."
},
"answers": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/answer"
}
}
},
"$defs": {
"answer": {
"type": "object",
"required": [
"name",
"type",
"status",
"threshold",
"value",
"probability"
],
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"type": {
"enum": [
"yes_no",
"choice",
"score"
]
},
"status": {
"enum": [
"accepted",
"uncertain",
"refused",
"invalid"
],
"description": "accepted: the probability reached the threshold. uncertain: it did not. refused: the model declined this question. invalid: the answer was missing or malformed. Only accepted answers should drive a decision."
},
"threshold": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"value": {
"type": [
"boolean",
"string",
"number",
"null"
],
"description": "yes_no: true or false, the more probable; choice: the chosen option; score: the score, from 0 (first level) to the number of levels minus one, possibly between two levels. Null when refused or invalid."
},
"probability": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1,
"description": "yes_no: the probability that the statement is true; choice: the probability of the chosen option; score: the probability of the most likely level. Null when refused or invalid."
},
"level": {
"type": [
"string",
"null"
],
"description": "score only: the label of the most likely level."
},
"confidence": {
"type": [
"number",
"null"
],
"description": "choice and score: how concentrated the probabilities are (1 = all on one answer), as reported by the model. Not a probability: thresholds apply to probability."
},
"options": {
"type": "array",
"description": "choice only: every option with its probability, in the order of the question.",
"items": {
"type": "object",
"required": [
"value",
"probability"
],
"additionalProperties": false,
"properties": {
"value": {
"type": "string"
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"levels": {
"type": "array",
"description": "score only: every level with its probability, lowest first.",
"items": {
"type": "object",
"required": [
"label",
"probability"
],
"additionalProperties": false,
"properties": {
"label": {
"type": "string"
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
}
}
}
}