Skip to main content
Glama

Evaluate a Price-Level Hypothesis

evaluate_candle_hypothesis
Read-onlyIdempotent

Investigate a caller-named price level using the chart's historical analogues. levelPrice is required. Do not omit it. The tool does not fill a neighbour P90, P10, or any other level. Defaults for the rest are BTCUSDT, 1h, q=5, f=10. Optionally add targetPrice and/or invalidationPrice: one alone reports how often reached episodes then hit it; both (on opposite sides of the level) also compare event order. Aliases timeframe, level, target and stop are accepted and echoed in inputAdjustments. 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

NameRequiredDescriptionDefault
fNoForward horizon in bars: 5, 10, 30 or 50. Defaults to 10
qNoCandles in the matched pattern: 3, 5, 8 or 12. Defaults to 5
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 1d. Defaults to 1h. Alias: timeframe1h
token_idNoOptional token. No token or payment is needed during the free access experiment.
levelPriceYesPrice the caller is investigating. Required. The tool does not fill a neighbour P90, P10, or any other level. Above the query close is an upward reach, below it a downward reach. Alias: level
chart_tokenNoOptional account key; all tools work anonymously during the free access experiment.
targetPriceNoOptional hypothesis target after reaching levelPrice. Alone it reports how often touched episodes then reached it; with invalidationPrice (opposite side of levelPrice) it also compares event order. Alias: target
invalidationPriceNoOptional price that invalidates the hypothesis after reaching levelPrice. An observation threshold, not an executable stop. Usable alone or with targetPrice. Aliases: stop, stopPrice, invalidation

Output 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. Changed2 schema fields changed
    • changedInput schema / properties / levelPrice / description
      Previous value: -"Price to investigate. Historical paths are rebased to the query close; above it means an upward reach, below it a downward reach. If omitted, the neighbour terminal-close P90 above the close is tested (P10 below the close when P90 is not above it) and reported as levelSource. Alias: level"New value: +"Price the caller is investigating. Required. The tool does not fill a neighbour P90, P10, or any other level. Above the query close is an upward reach, below it a downward reach. Alias: level"
    • addedInput schema / required
      Added value: +[
      +  "levelPrice"
      +]
  2. Changed15 schema fields changed
    • changedInput schema / properties / f / description
      Previous value: -"Forward horizon in bars. Only the chart presets 5, 10, 30, and 50 are supported"New value: +"Forward horizon in bars: 5, 10, 30 or 50. Defaults to 10"
    • changedInput schema / properties / interval / default
      Previous value: -"5m"New value: +"1h"
    • changedInput schema / properties / interval / description
      Previous value: -"Supported chart timeframe: 5m, 15m, 1h, 4h, or 1d"New value: +"Supported chart timeframe: 5m, 15m, 1h, 4h, or 1d. Defaults to 1h. Alias: timeframe"
    • changedInput schema / properties / invalidationPrice / description
      Previous value: -"Optional price that invalidates the user hypothesis after reaching levelPrice. This is an observation threshold, not an executable stop."New value: +"Optional price that invalidates the hypothesis after reaching levelPrice. An observation threshold, not an executable stop. Usable alone or with targetPrice. Aliases: stop, stopPrice, invalidation"
    • changedInput schema / properties / levelPrice / description
      Previous value: -"Price to investigate. Historical paths are rebased to the query close; above it means an upward reach, below it a downward reach."New value: +"Price to investigate. Historical paths are rebased to the query close; above it means an upward reach, below it a downward reach. If omitted, the neighbour terminal-close P90 above the close is tested (P10 below the close when P90 is not above it) and reported as levelSource. Alias: level"
    • changedInput schema / properties / q / description
      Previous value: -"Candles in the matched pattern. Only the chart presets 3, 5, 8, and 12 are supported"New value: +"Candles in the matched pattern: 3, 5, 8 or 12. Defaults to 5"
    • changedInput schema / properties / targetPrice / description
      Previous value: -"Optional user hypothesis target after reaching levelPrice. Supply together with invalidationPrice, on opposite sides of levelPrice."New value: +"Optional hypothesis target after reaching levelPrice. Alone it reports how often touched episodes then reached it; with invalidationPrice (opposite side of levelPrice) it also compares event order. Alias: target"
    • removedInput schema / required
      Removed value: -[
      -  "levelPrice"
      -]
    • addedOutput schema / properties / afterTouch / properties / threshold
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "denominator": {
      +          "const": "touched_episodes",
      +          "type": "string"
      +        },
      +        "kind": {
      +          "enum": [
      +            "target",
      +            "invalidation"
      +          ],
      +          "type": "string"
      +        },
      +        "notReached": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "note": {
      +          "type": "string"
      +        },
      +        "price": {
      +          "exclusiveMinimum": 0,
      +          "type": "number"
      +        },
      +        "reachedAfterTouch": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "reachedInTouchBar": {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "samples": {
      +          "minimum": 0,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "price",
      +        "denominator",
      +        "samples",
      +        "reachedInTouchBar",
      +        "reachedAfterTouch",
      +        "notReached",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / afterTouch / required
      Previous value: -[
      -  "terminalChangeFromLevelPct",
      -  "sequence"
      -]New value: +[
      +  "terminalChangeFromLevelPct",
      +  "sequence",
      +  "threshold"
      +]
    • changedOutput schema / properties / baseline / anyOf
      Previous value: -[
      -  {
      -    "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"
      -  }
      -]New value: +[
      +  {
      +    "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"
      +              }
      +            ]
      +          },
      +          "threshold": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "denominator": {
      +                    "const": "touched_episodes",
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "enum": [
      +                      "target",
      +                      "invalidation"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "notReached": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "note": {
      +                    "type": "string"
      +                  },
      +                  "price": {
      +                    "exclusiveMinimum": 0,
      +                    "type": "number"
      +                  },
      +                  "reachedAfterTouch": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "reachedInTouchBar": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "samples": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "price",
      +                  "denominator",
      +                  "samples",
      +                  "reachedInTouchBar",
      +                  "reachedAfterTouch",
      +                  "notReached",
      +                  "note"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "terminalChangeFromLevelPct",
      +          "sequence",
      +          "threshold"
      +        ],
      +        "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"
      +  }
      +]
    • addedOutput schema / properties / hypothesis / properties / thresholdMode
      Added value: +{
      +  "enum": [
      +    "PAIR",
      +    "SINGLE_THRESHOLD",
      +    "NONE"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / hypothesis / required
      Previous value: -[
      -  "entryPrice",
      -  "levelPrice",
      -  "reachDirection",
      -  "levelOffsetPct",
      -  "targetPrice",
      -  "invalidationPrice"
      -]New value: +[
      +  "entryPrice",
      +  "levelPrice",
      +  "reachDirection",
      +  "levelOffsetPct",
      +  "targetPrice",
      +  "invalidationPrice",
      +  "thresholdMode"
      +]
    • changedOutput schema / properties / volatilityCheck / properties / analogues / anyOf
      Previous value: -[
      -  {
      -    "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"
      -  }
      -]New value: +[
      +  {
      +    "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"
      +              }
      +            ]
      +          },
      +          "threshold": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "denominator": {
      +                    "const": "touched_episodes",
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "enum": [
      +                      "target",
      +                      "invalidation"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "notReached": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "note": {
      +                    "type": "string"
      +                  },
      +                  "price": {
      +                    "exclusiveMinimum": 0,
      +                    "type": "number"
      +                  },
      +                  "reachedAfterTouch": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "reachedInTouchBar": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "samples": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "price",
      +                  "denominator",
      +                  "samples",
      +                  "reachedInTouchBar",
      +                  "reachedAfterTouch",
      +                  "notReached",
      +                  "note"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "terminalChangeFromLevelPct",
      +          "sequence",
      +          "threshold"
      +        ],
      +        "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"
      +  }
      +]
    • changedOutput schema / properties / volatilityCheck / properties / baseline / anyOf
      Previous value: -[
      -  {
      -    "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"
      -  }
      -]New value: +[
      +  {
      +    "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"
      +              }
      +            ]
      +          },
      +          "threshold": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "denominator": {
      +                    "const": "touched_episodes",
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "enum": [
      +                      "target",
      +                      "invalidation"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "notReached": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "note": {
      +                    "type": "string"
      +                  },
      +                  "price": {
      +                    "exclusiveMinimum": 0,
      +                    "type": "number"
      +                  },
      +                  "reachedAfterTouch": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "reachedInTouchBar": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "samples": {
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "price",
      +                  "denominator",
      +                  "samples",
      +                  "reachedInTouchBar",
      +                  "reachedAfterTouch",
      +                  "notReached",
      +                  "note"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "terminalChangeFromLevelPct",
      +          "sequence",
      +          "threshold"
      +        ],
      +        "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"
      +  }
      +]
  3. 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"
      +]
  4. 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"
      +}
  5. Added

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare a safe, idempotent, closed-world read, and the description usefully adds that unknown intrabar order is marked ambiguous and that output is descriptive evidence rather than fills, PnL or calibrated future probabilities. The rest of the text enumerates return payload components, which largely duplicates the existing output schema rather than disclosing new behavioral constraints such as cost or performance limits.

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 key constraint (levelPrice required) is front-loaded, which is good, but the body is a dense single block of long clauses, and the lengthy enumeration of return components is redundant with the output schema. Several ideas could be pruned without loss.

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 10-parameter analytical tool with an output schema, the description covers the required input, defaults, optional-parameter interactions, ambiguity handling, and the interpretive caveat about non-calibrated evidence. It is close to complete, with sibling routing being the main missing element.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description still adds real meaning, notably that levelPrice above the query close is an upward reach and below it a downward reach, how targetPrice alone vs. with invalidationPrice changes the analysis, and that aliases are echoed in inputAdjustments. Marginal added value beyond a fully documented schema.

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?

States a specific verb and resource: 'Investigate a caller-named price level using the chart's historical analogues,' and reinforces the required levelPrice. However, it never distinguishes itself from close siblings like investigate_candle_event_hypothesis or replay_candle_hypothesis, so an agent must infer the boundary.

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

Usage Guidelines4/5

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

Gives clear operating context: levelPrice is mandatory and must not be omitted, the tool does not fill neighbour levels, defaults are listed, and the optional targetPrice/invalidationPrice combinations are spelled out with what each reports. It stops short of explicitly naming an alternative sibling to use instead in any scenario.

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