addedOutput schema / anyOf
Added value: +[
+ {
+ "additionalProperties": false,
+ "allOf": [
+ {
+ "if": {
+ "properties": {
+ "ok": {
+ "const": true
+ }
+ }
+ },
+ "then": {
+ "required": [
+ "n_forecasts",
+ "nominal_coverage",
+ "empirical_coverage",
+ "calibrated",
+ "within_coverage_tolerance",
+ "calibration_criterion",
+ "score",
+ "baseline_score",
+ "beats_baseline",
+ "skill_vs_baseline",
+ "n_misses",
+ "records",
+ "misses",
+ "worst_misses",
+ "records_complete"
+ ]
+ }
+ }
+ ],
+ "properties": {
+ "baseline_score": {},
+ "beats_baseline": {},
+ "calibrated": {},
+ "calibration_criterion": {},
+ "caveats": {},
+ "empirical_coverage": {},
+ "guarantee": {},
+ "method": {},
+ "misses": {},
+ "n_forecasts": {},
+ "n_misses": {},
+ "nominal_coverage": {},
+ "ok": {},
+ "reading": {},
+ "records": {},
+ "records_complete": {},
+ "score": {},
+ "skill_vs_baseline": {},
+ "validity": {},
+ "within_coverage_tolerance": {},
+ "worst_misses": {}
+ },
+ "required": [
+ "ok",
+ "validity",
+ "guarantee",
+ "method",
+ "caveats",
+ "reading"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Existing tool-error payload; no successful result fields are implied.",
+ "properties": {
+ "error": {
+ "description": "Validation or computation failure message; inspect MCP isError or the HTTP status.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "error"
+ ],
+ "type": "object"
+ }
+]
addedOutput schema / properties
Added value: +{
+ "baseline_score": {
+ "description": "Mean baseline weighted interval score.",
+ "type": "number"
+ },
+ "beats_baseline": {
+ "description": "Adaptive mean score is strictly below baseline.",
+ "type": "boolean"
+ },
+ "calibrated": {
+ "description": "Compatibility alias of within_coverage_tolerance; descriptive only.",
+ "type": "boolean"
+ },
+ "calibration_criterion": {
+ "description": "Descriptive tolerance rule, not a significance test.",
+ "type": "string"
+ },
+ "caveats": {
+ "description": "Ordered statements or identifiers.",
+ "items": {
+ "description": "One retained statement or identifier.",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "empirical_coverage": {
+ "description": "Observed covered fraction.",
+ "type": "number"
+ },
+ "error": {
+ "description": "Validation or computation failure message; inspect MCP isError or the HTTP status.",
+ "type": "string"
+ },
+ "guarantee": {
+ "description": "No statistical or market-performance guarantee is made.",
+ "type": "null"
+ },
+ "method": {
+ "description": "Shared forecast issuance and scoring method.",
+ "type": "string"
+ },
+ "misses": {
+ "description": "Every uncovered observation.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One prequential issue/observe/score record; future observations do not alter it.",
+ "properties": {
+ "actual": {
+ "description": "Observed value in input units.",
+ "type": "number"
+ },
+ "adaptive_alpha": {
+ "description": "Clipped adaptive miscoverage parameter as a fraction.",
+ "type": "number"
+ },
+ "baseline_score": {
+ "description": "Historical-quantile baseline weighted interval score in input units.",
+ "type": "number"
+ },
+ "covered": {
+ "description": "Actual value lies inside the issued interval.",
+ "type": "boolean"
+ },
+ "error_history_size": {
+ "description": "Historical absolute errors used before issuing this forecast.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "forecast": {
+ "description": "One-step random-walk point forecast in input units.",
+ "type": "number"
+ },
+ "index": {
+ "description": "Zero-based index of the observation scored after forecast issuance.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "interval": {
+ "description": "Lower and upper bounds, in that order.",
+ "items": {
+ "description": "Bound in the original input units.",
+ "type": "number"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array"
+ },
+ "missed_by": {
+ "description": "Distance outside the interval in input units, zero when covered.",
+ "type": "number"
+ },
+ "nominal_coverage": {
+ "description": "Requested target coverage as a fraction, not a guarantee.",
+ "type": "number"
+ },
+ "score": {
+ "description": "Adaptive weighted interval score in input units; lower is better.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "index",
+ "forecast",
+ "interval",
+ "nominal_coverage",
+ "adaptive_alpha",
+ "error_history_size",
+ "actual",
+ "covered",
+ "missed_by",
+ "score",
+ "baseline_score"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "n_forecasts": {
+ "description": "Number of issued forecasts scored.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "n_misses": {
+ "description": "Number of uncovered observations.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "nominal_coverage": {
+ "description": "Target coverage fraction.",
+ "type": "number"
+ },
+ "ok": {
+ "description": "False denotes insufficient history; forecast or scoring fields are then absent.",
+ "type": "boolean"
+ },
+ "reading": {
+ "description": "Result interpretation or minimum-history requirement.",
+ "type": "string"
+ },
+ "records": {
+ "description": "Every scored observation.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One prequential issue/observe/score record; future observations do not alter it.",
+ "properties": {
+ "actual": {
+ "description": "Observed value in input units.",
+ "type": "number"
+ },
+ "adaptive_alpha": {
+ "description": "Clipped adaptive miscoverage parameter as a fraction.",
+ "type": "number"
+ },
+ "baseline_score": {
+ "description": "Historical-quantile baseline weighted interval score in input units.",
+ "type": "number"
+ },
+ "covered": {
+ "description": "Actual value lies inside the issued interval.",
+ "type": "boolean"
+ },
+ "error_history_size": {
+ "description": "Historical absolute errors used before issuing this forecast.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "forecast": {
+ "description": "One-step random-walk point forecast in input units.",
+ "type": "number"
+ },
+ "index": {
+ "description": "Zero-based index of the observation scored after forecast issuance.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "interval": {
+ "description": "Lower and upper bounds, in that order.",
+ "items": {
+ "description": "Bound in the original input units.",
+ "type": "number"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array"
+ },
+ "missed_by": {
+ "description": "Distance outside the interval in input units, zero when covered.",
+ "type": "number"
+ },
+ "nominal_coverage": {
+ "description": "Requested target coverage as a fraction, not a guarantee.",
+ "type": "number"
+ },
+ "score": {
+ "description": "Adaptive weighted interval score in input units; lower is better.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "index",
+ "forecast",
+ "interval",
+ "nominal_coverage",
+ "adaptive_alpha",
+ "error_history_size",
+ "actual",
+ "covered",
+ "missed_by",
+ "score",
+ "baseline_score"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "records_complete": {
+ "const": true,
+ "description": "All scored observations are included.",
+ "type": "boolean"
+ },
+ "score": {
+ "description": "Mean adaptive weighted interval score.",
+ "type": "number"
+ },
+ "skill_vs_baseline": {
+ "anyOf": [
+ {
+ "description": "One minus adaptive/baseline score; null when baseline score is zero.",
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "One minus adaptive/baseline score; null when baseline score is zero. Null means unavailable or not applicable, never zero."
+ },
+ "validity": {
+ "const": "empirical_only",
+ "description": "Coverage is empirical only.",
+ "type": "string"
+ },
+ "within_coverage_tolerance": {
+ "description": "Observed coverage is within 0.05 of the target.",
+ "type": "boolean"
+ },
+ "worst_misses": {
+ "description": "At most five misses sorted by distance outside the interval.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One prequential issue/observe/score record; future observations do not alter it.",
+ "properties": {
+ "actual": {
+ "description": "Observed value in input units.",
+ "type": "number"
+ },
+ "adaptive_alpha": {
+ "description": "Clipped adaptive miscoverage parameter as a fraction.",
+ "type": "number"
+ },
+ "baseline_score": {
+ "description": "Historical-quantile baseline weighted interval score in input units.",
+ "type": "number"
+ },
+ "covered": {
+ "description": "Actual value lies inside the issued interval.",
+ "type": "boolean"
+ },
+ "error_history_size": {
+ "description": "Historical absolute errors used before issuing this forecast.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "forecast": {
+ "description": "One-step random-walk point forecast in input units.",
+ "type": "number"
+ },
+ "index": {
+ "description": "Zero-based index of the observation scored after forecast issuance.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "interval": {
+ "description": "Lower and upper bounds, in that order.",
+ "items": {
+ "description": "Bound in the original input units.",
+ "type": "number"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array"
+ },
+ "missed_by": {
+ "description": "Distance outside the interval in input units, zero when covered.",
+ "type": "number"
+ },
+ "nominal_coverage": {
+ "description": "Requested target coverage as a fraction, not a guarantee.",
+ "type": "number"
+ },
+ "score": {
+ "description": "Adaptive weighted interval score in input units; lower is better.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "index",
+ "forecast",
+ "interval",
+ "nominal_coverage",
+ "adaptive_alpha",
+ "error_history_size",
+ "actual",
+ "covered",
+ "missed_by",
+ "score",
+ "baseline_score"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5,
+ "type": "array"
+ }
+}