Skip to main content
Glama

Evaluate a Price-Level Hypothesis

evaluate_candle_hypothesis
Read-onlyIdempotent

Investigate a specific price-level hypothesis using the chart's historical analogues. Supply levelPrice; optionally supply both targetPrice and invalidationPrice. Compares identical reach and target-first/invalidation-first/ambiguous/unresolved events against a same-snapshot chronological history baseline. Returns ambiguity-aware target-order identification bounds and sampling envelopes, a fixed pre-pattern range-matched sensitivity check, non-overlapping episode counts, frequency differences and descriptive 95% intervals, calendar concentration, uncalibrated match distances, neighbour-count sensitivity and dated replay links. Uses complete historical OHLC paths, marks unknown intrabar order ambiguous, and returns descriptive evidence rather than fills, PnL or calibrated future probabilities.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fNoForward horizon in bars. Only the chart presets 5, 10, 30, and 50 are supported
qNoCandles in the matched pattern. Only the chart presets 3, 5, 8, and 12 are supported
symbolNoSupported chart symbol: BTCUSDT, ETHUSDT, or SOLUSDTBTCUSDT
anchorTsNoOptional historical replay anchor in Unix milliseconds. Omit for the latest chart candle
intervalNoSupported chart timeframe: 5m, 15m, 1h, 4h, or 1d5m
token_idNoOptional token. No token or payment is needed during the free access experiment.
levelPriceYesPrice to investigate. Historical paths are rebased to the query close; above it means an upward reach, below it a downward reach.
chart_tokenNoOptional account key; all tools work anonymously during the free access experiment.
targetPriceNoOptional user hypothesis target after reaching levelPrice. Supply together with invalidationPrice, on opposite sides of levelPrice.
invalidationPriceNoOptional price that invalidates the user hypothesis after reaching levelPrice. This is an observation threshold, not an executable stop.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
nextYes
reachYes
caveatsYes
summaryYes
baselineYes
contractYes
episodesYes
selectionYes
afterTouchYes
comparisonYes
hypothesisYes
dataQualityYes
targetOrderYes
researchStatusYes
volatilityCheckYes
researchConclusionYes
executionEligibilityYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedOutput schema / properties / contract / const
      Previous value: -"candle-hypothesis/v2"New value: +"candle-hypothesis/v3"
    • changedOutput schema / properties / researchConclusion / properties / assessment / enum
      Previous value: -[
      -  "INSUFFICIENT_DATA",
      -  "NO_CLEAR_DIFFERENCE",
      -  "DESCRIPTIVE_DIFFERENCE",
      -  "BASELINE_UNAVAILABLE"
      -]New value: +[
      +  "INSUFFICIENT_DATA",
      +  "NO_CLEAR_DIFFERENCE",
      +  "DESCRIPTIVE_DIFFERENCE",
      +  "BASELINE_UNAVAILABLE",
      +  "AMBIGUITY_LIMITED"
      +]
    • addedOutput schema / properties / researchConclusion / properties / definiteEventAssessment
      Added value: +{
      +  "enum": [
      +    "INSUFFICIENT_DATA",
      +    "NO_CLEAR_DIFFERENCE",
      +    "DESCRIPTIVE_DIFFERENCE",
      +    "BASELINE_UNAVAILABLE",
      +    "AMBIGUITY_LIMITED"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / researchConclusion / required
      Previous value: -[
      -  "metric",
      -  "assessment",
      -  "differencePp",
      -  "strategyEdgeValidated",
      -  "statement"
      -]New value: +[
      +  "metric",
      +  "assessment",
      +  "definiteEventAssessment",
      +  "differencePp",
      +  "strategyEdgeValidated",
      +  "statement"
      +]
    • addedOutput schema / properties / targetOrder
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "analogues": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "definiteTargetFirst": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "possibleSharePct": {
      +              "anyOf": [
      +                {
      +                  "items": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "samples": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "samplingEnvelope95Pct": {
      +              "anyOf": [
      +                {
      +                  "items": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "unknownOrder": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "unresolved": {
      +              "minimum": 0,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "samples",
      +            "definiteTargetFirst",
      +            "unknownOrder",
      +            "unresolved",
      +            "possibleSharePct",
      +            "samplingEnvelope95Pct"
      +          ],
      +          "type": "object"
      +        },
      +        "assessment": {
      +          "enum": [
      +            "INSUFFICIENT_DATA",
      +            "NO_CLEAR_DIFFERENCE",
      +            "DESCRIPTIVE_DIFFERENCE",
      +            "BASELINE_UNAVAILABLE",
      +            "AMBIGUITY_LIMITED"
      +          ],
      +          "type": "string"
      +        },
      +        "baseline": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "definiteTargetFirst": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "possibleSharePct": {
      +              "anyOf": [
      +                {
      +                  "items": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "samples": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "samplingEnvelope95Pct": {
      +              "anyOf": [
      +                {
      +                  "items": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "unknownOrder": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "unresolved": {
      +              "minimum": 0,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "samples",
      +            "definiteTargetFirst",
      +            "unknownOrder",
      +            "unresolved",
      +            "possibleSharePct",
      +            "samplingEnvelope95Pct"
      +          ],
      +          "type": "object"
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "possibleDifferencePp": {
      +          "anyOf": [
      +            {
      +              "items": [
      +                {
      +                  "maximum": 100,
      +                  "minimum": -100,
      +                  "type": "number"
      +                },
      +                {
      +                  "maximum": 100,
      +                  "minimum": -100,
      +                  "type": "number"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "samplingEnvelope95Pp": {
      +          "anyOf": [
      +            {
      +              "items": [
      +                {
      +                  "maximum": 100,
      +                  "minimum": -100,
      +                  "type": "number"
      +                },
      +                {
      +                  "maximum": 100,
      +                  "minimum": -100,
      +                  "type": "number"
      +                }
      +              ],
      +              "maxItems": 2,
      +              "minItems": 2,
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "analogues",
      +        "baseline",
      +        "possibleDifferencePp",
      +        "samplingEnvelope95Pp",
      +        "assessment",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / volatilityCheck
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "analogues": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "afterTouch": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "sequence": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "ambiguous": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "denominator": {
      +                          "const": "touched_episodes",
      +                          "type": "string"
      +                        },
      +                        "invalidation_first": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "target_first": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "unresolved": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "denominator",
      +                        "samples",
      +                        "target_first",
      +                        "invalidation_first",
      +                        "ambiguous",
      +                        "unresolved"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "terminalChangeFromLevelPct": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "p10": {
      +                          "type": "number"
      +                        },
      +                        "p50": {
      +                          "type": "number"
      +                        },
      +                        "p90": {
      +                          "type": "number"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "samples",
      +                        "p10",
      +                        "p50",
      +                        "p90"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "terminalChangeFromLevelPct",
      +                "sequence"
      +              ],
      +              "type": "object"
      +            },
      +            "anchors": {
      +              "items": {
      +                "exclusiveMinimum": 0,
      +                "type": "number"
      +              },
      +              "type": "array"
      +            },
      +            "reach": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "firstTouchBar": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "p10": {
      +                          "type": "number"
      +                        },
      +                        "p50": {
      +                          "type": "number"
      +                        },
      +                        "p90": {
      +                          "type": "number"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "samples",
      +                        "p10",
      +                        "p50",
      +                        "p90"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "frequency": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "confidenceInterval95Pct": {
      +                      "anyOf": [
      +                        {
      +                          "items": [
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            }
      +                          ],
      +                          "maxItems": 2,
      +                          "minItems": 2,
      +                          "type": "array"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "count": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "samples": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "sharePct": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "count",
      +                    "samples",
      +                    "sharePct",
      +                    "confidenceInterval95Pct"
      +                  ],
      +                  "type": "object"
      +                },
      +                "historicalTouchSharePct": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "notTouched": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "touched": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "samples",
      +                "touched",
      +                "notTouched",
      +                "historicalTouchSharePct",
      +                "firstTouchBar",
      +                "frequency"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "reach",
      +            "afterTouch",
      +            "anchors"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "baseline": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "afterTouch": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "sequence": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "ambiguous": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "denominator": {
      +                          "const": "touched_episodes",
      +                          "type": "string"
      +                        },
      +                        "invalidation_first": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "target_first": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "unresolved": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "denominator",
      +                        "samples",
      +                        "target_first",
      +                        "invalidation_first",
      +                        "ambiguous",
      +                        "unresolved"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "terminalChangeFromLevelPct": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "p10": {
      +                          "type": "number"
      +                        },
      +                        "p50": {
      +                          "type": "number"
      +                        },
      +                        "p90": {
      +                          "type": "number"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "samples",
      +                        "p10",
      +                        "p50",
      +                        "p90"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "terminalChangeFromLevelPct",
      +                "sequence"
      +              ],
      +              "type": "object"
      +            },
      +            "anchors": {
      +              "items": {
      +                "exclusiveMinimum": 0,
      +                "type": "number"
      +              },
      +              "type": "array"
      +            },
      +            "reach": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "firstTouchBar": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "p10": {
      +                          "type": "number"
      +                        },
      +                        "p50": {
      +                          "type": "number"
      +                        },
      +                        "p90": {
      +                          "type": "number"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "samples",
      +                        "p10",
      +                        "p50",
      +                        "p90"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "frequency": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "confidenceInterval95Pct": {
      +                      "anyOf": [
      +                        {
      +                          "items": [
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            }
      +                          ],
      +                          "maxItems": 2,
      +                          "minItems": 2,
      +                          "type": "array"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "count": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "samples": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "sharePct": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "count",
      +                    "samples",
      +                    "sharePct",
      +                    "confidenceInterval95Pct"
      +                  ],
      +                  "type": "object"
      +                },
      +                "historicalTouchSharePct": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "notTouched": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "touched": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "samples",
      +                "touched",
      +                "notTouched",
      +                "historicalTouchSharePct",
      +                "firstTouchBar",
      +                "frequency"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "reach",
      +            "afterTouch",
      +            "anchors"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "method": {
      +      "const": "fixed_pre_pattern_mean_range_ratio",
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "queryMeanRangePct": {
      +      "anyOf": [
      +        {
      +          "exclusiveMinimum": 0,
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "ratioRange": {
      +      "items": [
      +        {
      +          "const": 0.5,
      +          "type": "number"
      +        },
      +        {
      +          "const": 2,
      +          "type": "number"
      +        }
      +      ],
      +      "maxItems": 2,
      +      "minItems": 2,
      +      "type": "array"
      +    },
      +    "reachComparison": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "analogues": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "confidenceInterval95Pct": {
      +                  "anyOf": [
      +                    {
      +                      "items": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        }
      +                      ],
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "count": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "sharePct": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "count",
      +                "samples",
      +                "sharePct",
      +                "confidenceInterval95Pct"
      +              ],
      +              "type": "object"
      +            },
      +            "assessment": {
      +              "enum": [
      +                "INSUFFICIENT_DATA",
      +                "NO_CLEAR_DIFFERENCE",
      +                "DESCRIPTIVE_DIFFERENCE"
      +              ],
      +              "type": "string"
      +            },
      +            "baseline": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "confidenceInterval95Pct": {
      +                  "anyOf": [
      +                    {
      +                      "items": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        }
      +                      ],
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "count": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "sharePct": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "count",
      +                "samples",
      +                "sharePct",
      +                "confidenceInterval95Pct"
      +              ],
      +              "type": "object"
      +            },
      +            "confidenceInterval95Pp": {
      +              "anyOf": [
      +                {
      +                  "items": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": -100,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "maximum": 100,
      +                      "minimum": -100,
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "differencePp": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "analogues",
      +            "baseline",
      +            "differencePp",
      +            "confidenceInterval95Pp",
      +            "assessment"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "selectionUsesForwardOutcomes": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "status": {
      +      "enum": [
      +        "BASELINE_UNAVAILABLE",
      +        "VOLATILITY_UNAVAILABLE",
      +        "INSUFFICIENT_DATA",
      +        "AVAILABLE"
      +      ],
      +      "type": "string"
      +    },
      +    "targetOrder": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "analogues": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "definiteTargetFirst": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "possibleSharePct": {
      +                  "anyOf": [
      +                    {
      +                      "items": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        }
      +                      ],
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "samplingEnvelope95Pct": {
      +                  "anyOf": [
      +                    {
      +                      "items": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        }
      +                      ],
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "unknownOrder": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "unresolved": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "samples",
      +                "definiteTargetFirst",
      +                "unknownOrder",
      +                "unresolved",
      +                "possibleSharePct",
      +                "samplingEnvelope95Pct"
      +              ],
      +              "type": "object"
      +            },
      +            "assessment": {
      +              "enum": [
      +                "INSUFFICIENT_DATA",
      +                "NO_CLEAR_DIFFERENCE",
      +                "DESCRIPTIVE_DIFFERENCE",
      +                "BASELINE_UNAVAILABLE",
      +                "AMBIGUITY_LIMITED"
      +              ],
      +              "type": "string"
      +            },
      +            "baseline": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "definiteTargetFirst": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "possibleSharePct": {
      +                  "anyOf": [
      +                    {
      +                      "items": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        }
      +                      ],
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "samplingEnvelope95Pct": {
      +                  "anyOf": [
      +                    {
      +                      "items": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        }
      +                      ],
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "unknownOrder": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "unresolved": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "samples",
      +                "definiteTargetFirst",
      +                "unknownOrder",
      +                "unresolved",
      +                "possibleSharePct",
      +                "samplingEnvelope95Pct"
      +              ],
      +              "type": "object"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "possibleDifferencePp": {
      +              "anyOf": [
      +                {
      +                  "items": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": -100,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "maximum": 100,
      +                      "minimum": -100,
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "samplingEnvelope95Pp": {
      +              "anyOf": [
      +                {
      +                  "items": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": -100,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "maximum": 100,
      +                      "minimum": -100,
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "analogues",
      +            "baseline",
      +            "possibleDifferencePp",
      +            "samplingEnvelope95Pp",
      +            "assessment",
      +            "note"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "method",
      +    "queryMeanRangePct",
      +    "ratioRange",
      +    "selectionUsesForwardOutcomes",
      +    "analogues",
      +    "baseline",
      +    "reachComparison",
      +    "targetOrder",
      +    "note"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "contract",
      -  "summary",
      -  "researchStatus",
      -  "selection",
      -  "hypothesis",
      -  "researchConclusion",
      -  "reach",
      -  "afterTouch",
      -  "baseline",
      -  "comparison",
      -  "dataQuality",
      -  "episodes",
      -  "next",
      -  "caveats",
      -  "executionEligibility"
      -]New value: +[
      +  "contract",
      +  "summary",
      +  "researchStatus",
      +  "selection",
      +  "hypothesis",
      +  "researchConclusion",
      +  "reach",
      +  "afterTouch",
      +  "targetOrder",
      +  "volatilityCheck",
      +  "baseline",
      +  "comparison",
      +  "dataQuality",
      +  "episodes",
      +  "next",
      +  "caveats",
      +  "executionEligibility"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "afterTouch": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "sequence": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "ambiguous": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "denominator": {
      +                  "const": "touched_episodes",
      +                  "type": "string"
      +                },
      +                "invalidation_first": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "target_first": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "unresolved": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "denominator",
      +                "samples",
      +                "target_first",
      +                "invalidation_first",
      +                "ambiguous",
      +                "unresolved"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "terminalChangeFromLevelPct": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "p10": {
      +                  "type": "number"
      +                },
      +                "p50": {
      +                  "type": "number"
      +                },
      +                "p90": {
      +                  "type": "number"
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "samples",
      +                "p10",
      +                "p50",
      +                "p90"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "terminalChangeFromLevelPct",
      +        "sequence"
      +      ],
      +      "type": "object"
      +    },
      +    "baseline": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "afterTouch": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "sequence": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "ambiguous": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "denominator": {
      +                          "const": "touched_episodes",
      +                          "type": "string"
      +                        },
      +                        "invalidation_first": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "target_first": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "unresolved": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "denominator",
      +                        "samples",
      +                        "target_first",
      +                        "invalidation_first",
      +                        "ambiguous",
      +                        "unresolved"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "terminalChangeFromLevelPct": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "p10": {
      +                          "type": "number"
      +                        },
      +                        "p50": {
      +                          "type": "number"
      +                        },
      +                        "p90": {
      +                          "type": "number"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "samples",
      +                        "p10",
      +                        "p50",
      +                        "p90"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "terminalChangeFromLevelPct",
      +                "sequence"
      +              ],
      +              "type": "object"
      +            },
      +            "eligibleCandidates": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "examples": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "analogueAnchorTs": {
      +                    "exclusiveMinimum": 0,
      +                    "type": "number"
      +                  },
      +                  "firstTouchBar": {
      +                    "anyOf": [
      +                      {
      +                        "exclusiveMinimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "permalink": {
      +                    "type": "string"
      +                  },
      +                  "sequence": {
      +                    "anyOf": [
      +                      {
      +                        "enum": [
      +                          "target_first",
      +                          "invalidation_first",
      +                          "ambiguous",
      +                          "unresolved"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "terminalChangeFromLevelPct": {
      +                    "anyOf": [
      +                      {
      +                        "type": "number"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "terminalPrice": {
      +                    "exclusiveMinimum": 0,
      +                    "type": "number"
      +                  },
      +                  "touched": {
      +                    "type": "boolean"
      +                  },
      +                  "when": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "analogueAnchorTs",
      +                  "when",
      +                  "permalink",
      +                  "touched",
      +                  "firstTouchBar",
      +                  "terminalPrice",
      +                  "terminalChangeFromLevelPct",
      +                  "sequence"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "excluded": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "analogueAnchorTs": {
      +                    "type": "number"
      +                  },
      +                  "reason": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "analogueAnchorTs",
      +                  "reason"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "historyEndTs": {
      +              "type": "number"
      +            },
      +            "historyStartTs": {
      +              "type": "number"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "reach": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "firstTouchBar": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "p10": {
      +                          "type": "number"
      +                        },
      +                        "p50": {
      +                          "type": "number"
      +                        },
      +                        "p90": {
      +                          "type": "number"
      +                        },
      +                        "samples": {
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "samples",
      +                        "p10",
      +                        "p50",
      +                        "p90"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "frequency": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "confidenceInterval95Pct": {
      +                      "anyOf": [
      +                        {
      +                          "items": [
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            }
      +                          ],
      +                          "maxItems": 2,
      +                          "minItems": 2,
      +                          "type": "array"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "count": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "samples": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "sharePct": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "count",
      +                    "samples",
      +                    "sharePct",
      +                    "confidenceInterval95Pct"
      +                  ],
      +                  "type": "object"
      +                },
      +                "historicalTouchSharePct": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "notTouched": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "touched": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "samples",
      +                "touched",
      +                "notTouched",
      +                "historicalTouchSharePct",
      +                "firstTouchBar",
      +                "frequency"
      +              ],
      +              "type": "object"
      +            },
      +            "sampleCap": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "selectionMethod": {
      +              "const": "chronological_disjoint_evenly_spaced",
      +              "type": "string"
      +            },
      +            "status": {
      +              "enum": [
      +                "AVAILABLE",
      +                "INSUFFICIENT_DATA"
      +              ],
      +              "type": "string"
      +            },
      +            "temporalCoverage": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "concentrated": {
      +                  "type": "boolean"
      +                },
      +                "distinctPeriods": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "earliest": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "largestPeriodSharePct": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "latest": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "periodUnit": {
      +                  "const": "calendar_quarter",
      +                  "type": "string"
      +                },
      +                "periods": {
      +                  "additionalProperties": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "type": "object"
      +                }
      +              },
      +              "required": [
      +                "periods",
      +                "periodUnit",
      +                "distinctPeriods",
      +                "largestPeriodSharePct",
      +                "concentrated",
      +                "earliest",
      +                "latest"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "selectionMethod",
      +            "eligibleCandidates",
      +            "sampleCap",
      +            "historyStartTs",
      +            "historyEndTs",
      +            "reach",
      +            "afterTouch",
      +            "excluded",
      +            "temporalCoverage",
      +            "examples",
      +            "note"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "reason": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "enum": [
      +                "UNAVAILABLE",
      +                "INCOMPATIBLE_SNAPSHOT"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "reason"
      +          ],
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "caveats": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "comparison": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "afterTouch": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "ambiguous": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "analogues": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "confidenceInterval95Pct": {
      +                              "anyOf": [
      +                                {
      +                                  "items": [
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  ],
      +                                  "maxItems": 2,
      +                                  "minItems": 2,
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "count": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "samples": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "sharePct": {
      +                              "anyOf": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "count",
      +                            "samples",
      +                            "sharePct",
      +                            "confidenceInterval95Pct"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "assessment": {
      +                          "enum": [
      +                            "INSUFFICIENT_DATA",
      +                            "NO_CLEAR_DIFFERENCE",
      +                            "DESCRIPTIVE_DIFFERENCE"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "baseline": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "confidenceInterval95Pct": {
      +                              "anyOf": [
      +                                {
      +                                  "items": [
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  ],
      +                                  "maxItems": 2,
      +                                  "minItems": 2,
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "count": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "samples": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "sharePct": {
      +                              "anyOf": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "count",
      +                            "samples",
      +                            "sharePct",
      +                            "confidenceInterval95Pct"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "confidenceInterval95Pp": {
      +                          "anyOf": [
      +                            {
      +                              "items": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": -100,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": -100,
      +                                  "type": "number"
      +                                }
      +                              ],
      +                              "maxItems": 2,
      +                              "minItems": 2,
      +                              "type": "array"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "differencePp": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        }
      +                      },
      +                      "required": [
      +                        "analogues",
      +                        "baseline",
      +                        "differencePp",
      +                        "confidenceInterval95Pp",
      +                        "assessment"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "invalidation_first": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "analogues": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "confidenceInterval95Pct": {
      +                              "anyOf": [
      +                                {
      +                                  "items": [
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  ],
      +                                  "maxItems": 2,
      +                                  "minItems": 2,
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "count": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "samples": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "sharePct": {
      +                              "anyOf": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "count",
      +                            "samples",
      +                            "sharePct",
      +                            "confidenceInterval95Pct"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "assessment": {
      +                          "enum": [
      +                            "INSUFFICIENT_DATA",
      +                            "NO_CLEAR_DIFFERENCE",
      +                            "DESCRIPTIVE_DIFFERENCE"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "baseline": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "confidenceInterval95Pct": {
      +                              "anyOf": [
      +                                {
      +                                  "items": [
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  ],
      +                                  "maxItems": 2,
      +                                  "minItems": 2,
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "count": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "samples": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "sharePct": {
      +                              "anyOf": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "count",
      +                            "samples",
      +                            "sharePct",
      +                            "confidenceInterval95Pct"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "confidenceInterval95Pp": {
      +                          "anyOf": [
      +                            {
      +                              "items": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": -100,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": -100,
      +                                  "type": "number"
      +                                }
      +                              ],
      +                              "maxItems": 2,
      +                              "minItems": 2,
      +                              "type": "array"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "differencePp": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        }
      +                      },
      +                      "required": [
      +                        "analogues",
      +                        "baseline",
      +                        "differencePp",
      +                        "confidenceInterval95Pp",
      +                        "assessment"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "target_first": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "analogues": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "confidenceInterval95Pct": {
      +                              "anyOf": [
      +                                {
      +                                  "items": [
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  ],
      +                                  "maxItems": 2,
      +                                  "minItems": 2,
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "count": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "samples": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "sharePct": {
      +                              "anyOf": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "count",
      +                            "samples",
      +                            "sharePct",
      +                            "confidenceInterval95Pct"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "assessment": {
      +                          "enum": [
      +                            "INSUFFICIENT_DATA",
      +                            "NO_CLEAR_DIFFERENCE",
      +                            "DESCRIPTIVE_DIFFERENCE"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "baseline": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "confidenceInterval95Pct": {
      +                              "anyOf": [
      +                                {
      +                                  "items": [
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  ],
      +                                  "maxItems": 2,
      +                                  "minItems": 2,
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "count": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "samples": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "sharePct": {
      +                              "anyOf": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "count",
      +                            "samples",
      +                            "sharePct",
      +                            "confidenceInterval95Pct"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "confidenceInterval95Pp": {
      +                          "anyOf": [
      +                            {
      +                              "items": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": -100,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": -100,
      +                                  "type": "number"
      +                                }
      +                              ],
      +                              "maxItems": 2,
      +                              "minItems": 2,
      +                              "type": "array"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "differencePp": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        }
      +                      },
      +                      "required": [
      +                        "analogues",
      +                        "baseline",
      +                        "differencePp",
      +                        "confidenceInterval95Pp",
      +                        "assessment"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "unresolved": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "analogues": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "confidenceInterval95Pct": {
      +                              "anyOf": [
      +                                {
      +                                  "items": [
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  ],
      +                                  "maxItems": 2,
      +                                  "minItems": 2,
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "count": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "samples": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "sharePct": {
      +                              "anyOf": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "count",
      +                            "samples",
      +                            "sharePct",
      +                            "confidenceInterval95Pct"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "assessment": {
      +                          "enum": [
      +                            "INSUFFICIENT_DATA",
      +                            "NO_CLEAR_DIFFERENCE",
      +                            "DESCRIPTIVE_DIFFERENCE"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "baseline": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "confidenceInterval95Pct": {
      +                              "anyOf": [
      +                                {
      +                                  "items": [
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    {
      +                                      "maximum": 100,
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  ],
      +                                  "maxItems": 2,
      +                                  "minItems": 2,
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "count": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "samples": {
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            },
      +                            "sharePct": {
      +                              "anyOf": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            }
      +                          },
      +                          "required": [
      +                            "count",
      +                            "samples",
      +                            "sharePct",
      +                            "confidenceInterval95Pct"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "confidenceInterval95Pp": {
      +                          "anyOf": [
      +                            {
      +                              "items": [
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": -100,
      +                                  "type": "number"
      +                                },
      +                                {
      +                                  "maximum": 100,
      +                                  "minimum": -100,
      +                                  "type": "number"
      +                                }
      +                              ],
      +                              "maxItems": 2,
      +                              "minItems": 2,
      +                              "type": "array"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "differencePp": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        }
      +                      },
      +                      "required": [
      +                        "analogues",
      +                        "baseline",
      +                        "differencePp",
      +                        "confidenceInterval95Pp",
      +                        "assessment"
      +                      ],
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "target_first",
      +                    "invalidation_first",
      +                    "ambiguous",
      +                    "unresolved"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "denominatorNote": {
      +              "type": "string"
      +            },
      +            "intervalMethod": {
      +              "type": "string"
      +            },
      +            "reach": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "analogues": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "confidenceInterval95Pct": {
      +                      "anyOf": [
      +                        {
      +                          "items": [
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            }
      +                          ],
      +                          "maxItems": 2,
      +                          "minItems": 2,
      +                          "type": "array"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "count": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "samples": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "sharePct": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "count",
      +                    "samples",
      +                    "sharePct",
      +                    "confidenceInterval95Pct"
      +                  ],
      +                  "type": "object"
      +                },
      +                "assessment": {
      +                  "enum": [
      +                    "INSUFFICIENT_DATA",
      +                    "NO_CLEAR_DIFFERENCE",
      +                    "DESCRIPTIVE_DIFFERENCE"
      +                  ],
      +                  "type": "string"
      +                },
      +                "baseline": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "confidenceInterval95Pct": {
      +                      "anyOf": [
      +                        {
      +                          "items": [
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "maximum": 100,
      +                              "minimum": 0,
      +                              "type": "number"
      +                            }
      +                          ],
      +                          "maxItems": 2,
      +                          "minItems": 2,
      +                          "type": "array"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "count": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "samples": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    "sharePct": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "count",
      +                    "samples",
      +                    "sharePct",
      +                    "confidenceInterval95Pct"
      +                  ],
      +                  "type": "object"
      +                },
      +                "confidenceInterval95Pp": {
      +                  "anyOf": [
      +                    {
      +                      "items": [
      +                        {
      +                          "maximum": 100,
      +                          "minimum": -100,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "maximum": 100,
      +                          "minimum": -100,
      +                          "type": "number"
      +                        }
      +                      ],
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "differencePp": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "analogues",
      +                "baseline",
      +                "differencePp",
      +                "confidenceInterval95Pp",
      +                "assessment"
      +              ],
      +              "type": "object"
      +            },
      +            "strategyEdgeValidated": {
      +              "const": false,
      +              "type": "boolean"
      +            }
      +          },
      +          "required": [
      +            "reach",
      +            "afterTouch",
      +            "denominatorNote",
      +            "intervalMethod",
      +            "strategyEdgeValidated"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "contract": {
      +      "const": "candle-hypothesis/v2",
      +      "type": "string"
      +    },
      +    "dataQuality": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "contextBarsIncluded": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "excluded": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "analogueAnchorTs": {
      +                "type": "number"
      +              },
      +              "reason": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "analogueAnchorTs",
      +              "reason"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "independenceNote": {
      +          "type": "string"
      +        },
      +        "matchDistance": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "calibration": {
      +              "const": "UNVALIDATED",
      +              "type": "string"
      +            },
      +            "distribution": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "p10": {
      +                      "type": "number"
      +                    },
      +                    "p50": {
      +                      "type": "number"
      +                    },
      +                    "p90": {
      +                      "type": "number"
      +                    },
      +                    "samples": {
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    }
      +                  },
      +                  "required": [
      +                    "samples",
      +                    "p10",
      +                    "p50",
      +                    "p90"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "note": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "distribution",
      +            "calibration",
      +            "note"
      +          ],
      +          "type": "object"
      +        },
      +        "nonOverlappingEpisodes": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "overlapExcluded": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "reasons": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "retrieved": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "sensitivity": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "method": {
      +              "type": "string"
      +            },
      +            "note": {
      +              "type": "string"
      +            },
      +            "reachDifferencePp": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "status": {
      +              "enum": [
      +                "AVAILABLE",
      +                "INSUFFICIENT_EPISODES"
      +              ],
      +              "type": "string"
      +            },
      +            "subsetSamples": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "subsetTouched": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "targetFirstDifferencePp": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "unstable": {
      +              "type": "boolean"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "method",
      +            "subsetSamples",
      +            "subsetTouched",
      +            "reachDifferencePp",
      +            "targetFirstDifferencePp",
      +            "unstable",
      +            "note"
      +          ],
      +          "type": "object"
      +        },
      +        "separationBars": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "smallSample": {
      +          "type": "boolean"
      +        },
      +        "temporalCoverage": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "concentrated": {
      +              "type": "boolean"
      +            },
      +            "distinctPeriods": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "earliest": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "largestPeriodSharePct": {
      +              "anyOf": [
      +                {
      +                  "maximum": 100,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "latest": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "periodUnit": {
      +              "const": "calendar_quarter",
      +              "type": "string"
      +            },
      +            "periods": {
      +              "additionalProperties": {
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "periods",
      +            "periodUnit",
      +            "distinctPeriods",
      +            "largestPeriodSharePct",
      +            "concentrated",
      +            "earliest",
      +            "latest"
      +          ],
      +          "type": "object"
      +        },
      +        "usable": {
      +          "minimum": 0,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "retrieved",
      +        "usable",
      +        "excluded",
      +        "smallSample",
      +        "nonOverlappingEpisodes",
      +        "separationBars",
      +        "contextBarsIncluded",
      +        "overlapExcluded",
      +        "independenceNote",
      +        "matchDistance",
      +        "temporalCoverage",
      +        "sensitivity",
      +        "reasons"
      +      ],
      +      "type": "object"
      +    },
      +    "episodes": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "analogueAnchorTs": {
      +            "exclusiveMinimum": 0,
      +            "type": "number"
      +          },
      +          "firstTouchBar": {
      +            "anyOf": [
      +              {
      +                "exclusiveMinimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "permalink": {
      +            "type": "string"
      +          },
      +          "sequence": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "target_first",
      +                  "invalidation_first",
      +                  "ambiguous",
      +                  "unresolved"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "terminalChangeFromLevelPct": {
      +            "anyOf": [
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "terminalPrice": {
      +            "exclusiveMinimum": 0,
      +            "type": "number"
      +          },
      +          "touched": {
      +            "type": "boolean"
      +          },
      +          "when": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "analogueAnchorTs",
      +          "when",
      +          "permalink",
      +          "touched",
      +          "firstTouchBar",
      +          "terminalPrice",
      +          "terminalChangeFromLevelPct",
      +          "sequence"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "executionEligibility": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "decision": {
      +          "const": "NO_TRADE",
      +          "type": "string"
      +        },
      +        "reason": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "decision",
      +        "reason"
      +      ],
      +      "type": "object"
      +    },
      +    "hypothesis": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "entryPrice": {
      +          "exclusiveMinimum": 0,
      +          "type": "number"
      +        },
      +        "invalidationPrice": {
      +          "anyOf": [
      +            {
      +              "exclusiveMinimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "levelOffsetPct": {
      +          "type": "number"
      +        },
      +        "levelPrice": {
      +          "exclusiveMinimum": 0,
      +          "type": "number"
      +        },
      +        "reachDirection": {
      +          "enum": [
      +            "up",
      +            "down"
      +          ],
      +          "type": "string"
      +        },
      +        "targetPrice": {
      +          "anyOf": [
      +            {
      +              "exclusiveMinimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "entryPrice",
      +        "levelPrice",
      +        "reachDirection",
      +        "levelOffsetPct",
      +        "targetPrice",
      +        "invalidationPrice"
      +      ],
      +      "type": "object"
      +    },
      +    "next": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "arguments": {
      +            "additionalProperties": {},
      +            "type": "object"
      +          },
      +          "purpose": {
      +            "type": "string"
      +          },
      +          "tool": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "tool",
      +          "arguments",
      +          "purpose"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "reach": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "firstTouchBar": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "p10": {
      +                  "type": "number"
      +                },
      +                "p50": {
      +                  "type": "number"
      +                },
      +                "p90": {
      +                  "type": "number"
      +                },
      +                "samples": {
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "samples",
      +                "p10",
      +                "p50",
      +                "p90"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "frequency": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidenceInterval95Pct": {
      +              "anyOf": [
      +                {
      +                  "items": [
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "maximum": 100,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "count": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "samples": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "sharePct": {
      +              "anyOf": [
      +                {
      +                  "maximum": 100,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "count",
      +            "samples",
      +            "sharePct",
      +            "confidenceInterval95Pct"
      +          ],
      +          "type": "object"
      +        },
      +        "historicalTouchSharePct": {
      +          "anyOf": [
      +            {
      +              "maximum": 100,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "notTouched": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "samples": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "touched": {
      +          "minimum": 0,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "samples",
      +        "touched",
      +        "notTouched",
      +        "historicalTouchSharePct",
      +        "firstTouchBar",
      +        "frequency"
      +      ],
      +      "type": "object"
      +    },
      +    "researchConclusion": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "assessment": {
      +          "enum": [
      +            "INSUFFICIENT_DATA",
      +            "NO_CLEAR_DIFFERENCE",
      +            "DESCRIPTIVE_DIFFERENCE",
      +            "BASELINE_UNAVAILABLE"
      +          ],
      +          "type": "string"
      +        },
      +        "differencePp": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "metric": {
      +          "enum": [
      +            "reach",
      +            "target_first_after_reach"
      +          ],
      +          "type": "string"
      +        },
      +        "statement": {
      +          "type": "string"
      +        },
      +        "strategyEdgeValidated": {
      +          "const": false,
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "metric",
      +        "assessment",
      +        "differencePp",
      +        "strategyEdgeValidated",
      +        "statement"
      +      ],
      +      "type": "object"
      +    },
      +    "researchStatus": {
      +      "enum": [
      +        "INSUFFICIENT_DATA",
      +        "LEVEL_NOT_REACHED_IN_SAMPLE",
      +        "HISTORICAL_EVIDENCE_AVAILABLE"
      +      ],
      +      "type": "string"
      +    },
      +    "selection": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "anchorTs": {
      +          "exclusiveMinimum": 0,
      +          "type": "number"
      +        },
      +        "f": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "interval": {
      +          "type": "string"
      +        },
      +        "q": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "rankingMethod": {
      +          "type": "string"
      +        },
      +        "symbol": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "symbol",
      +        "interval",
      +        "q",
      +        "f",
      +        "anchorTs",
      +        "rankingMethod"
      +      ],
      +      "type": "object"
      +    },
      +    "summary": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "contract",
      +    "summary",
      +    "researchStatus",
      +    "selection",
      +    "hypothesis",
      +    "researchConclusion",
      +    "reach",
      +    "afterTouch",
      +    "baseline",
      +    "comparison",
      +    "dataQuality",
      +    "episodes",
      +    "next",
      +    "caveats",
      +    "executionEligibility"
      +  ],
      +  "type": "object"
      +}
  3. Added

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description adds real behavioral context: complete historical OHLC paths, ambiguous intrabar ordering, and that it returns 'descriptive evidence rather than fills, PnL or calibrated future probabilities.' That non-calibration disclaimer meaningfully frames how to interpret output, though it stops short of permission or rate-limit notes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the second sentence is a long run-on cataloguing return artifacts (bounds, envelopes, sensitivity checks, episode counts, intervals, replay links) that largely duplicates what the existing output schema already conveys. It is informative but not tightly earned given the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex analysis tool with an output schema and rich annotations, the description covers the analytical approach, ambiguity handling, and the limits of the evidence, which is enough for correct invocation. The return-value enumeration is partly redundant given the output schema, keeping it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents levelPrice, targetPrice, invalidationPrice and the enum presets. The description only restates the levelPrice directionality and the optional pairing constraint, adding little beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Investigate a specific price-level hypothesis using the chart's historical analogues.' An agent can tell this is a hypothesis-evaluation tool rather than a lookup or snapshot tool. It does not explicitly name a sibling to contrast against, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives input-usage guidance ('Supply levelPrice; optionally supply both targetPrice and invalidationPrice'), which implies the use case. However, there is no explicit when-to-use/when-not guidance and no routing to alternatives among the many candle siblings such as get_candle_analogue_map or inspect_candle_analogue.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources