Input and output schemas
Make run parameters and prediction outputs explicit and validate without coercion
Schemas make a forecaster's contract inspectable. Input is validated before execution; final output is validated before completion. Semogram uses draft-07 JSON Schema without inserting defaults, coercing types or fetching remote schemas. A schema-valid probability is not proof that it is accurate.
Runtime input shape
Prediction input is an object with subject_ref, horizon when non-null and params. Defaults are merged from forecaster.defaultParams and run params, with run values taking precedence. The horizon comes from the run or forecaster default.
{
"type": "object",
"properties": {
"subject_ref": {
"type": "string"
},
"horizon": {
"type": "string"
},
"params": {
"type": "object"
}
},
"required": [
"subject_ref",
"horizon",
"params"
],
"additionalProperties": false
}This equipment input requires a horizon. A null/omitted effective horizon will fail it. The evidence query has its own input schema; both contracts must accept the supplied runtime values.
Equipment probability output
{
"type": "object",
"properties": {
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"rationale": {
"type": "string"
}
},
"required": [
"probability",
"confidence",
"rationale"
],
"additionalProperties": false
}Set probabilityPath $.probability and confidencePath $.confidence. These paths extract separate values from the validated output. Supported path extraction follows dot-separated object keys; do not assume array-index or general JSONPath expressions work. Require the fields and bounds in the schema so missing values do not silently become null extraction results.
Use the appropriate authoring method
The simple New forecaster form derives schemas from the selected output kind. After creating the equipment forecaster, open Edit and replace Input schema/Output schema in their advanced editors with the complete objects above. Set the matching Probability output path and Confidence path, save, then inspect the new version. JSON here is an advanced schema representation, not the whole UI form.
Describe the required input, fields, types and bounds to a connected MCP assistant. Request a proposed forecaster_update containing inputSchema, outputSchema, probabilityPath and confidencePath. Review it before saving. The in-app creation assistant derives a fixed starting schema; use Edit for these advanced customizations.
Use these objects as inputSchema and outputSchema in the enclosing forecaster_create/update MCP arguments, with the actual query/forecaster reference and unique idempotency key. They are not complete standalone requests.
Category and number paths
A numeric output might require value and confidence; set the manual evaluation policy's forecastPath to $.value. A categorical output might require category with an enum; set forecastPath $.category. The scorer falls back to $.prediction when no path is set. Explicit paths avoid scoring the wrong or missing field.
When changing a schema, execute representative valid inputs and inspect the resulting output. Deliberately check missing fields, wrong types and out-of-range values with schema validation before running paid model calls.