Skip to main content
Glama

Run the adversarial signal gauntlet

assay_gauntlet
Destructive

Use this when you want the whole reality-check battery on a strategy in one call -- overfitting, leakage, costs, regimes and a matched-random placebo -- as a demote-only dossier, never buy/sell advice. The full reality-check battery in ONE call -- validator, family deflation, matched-random placebo, capacity ceiling and graveyard prior chained into a single consolidated dossier. Instead of pass/fail you get WHICH gate killed the signal first (machine-readable failure_codes), the placebo percentile, the tradable capacity ceiling, how often the family was already buried, and the family's remaining search budget. Built for iterating agents: it is training feedback with budget economics, not a bare verdict. Supply the strategy as an executable DSL spec plus your own candles; optional per-symbol ADV in USD unlocks the capacity gate, and optional per-symbol daily volatility (sigma_by_symbol_pct, percent) sharpens its impact model for volatile assets. Trading perpetuals? Supply funding_by_symbol ({symbol: [{ts, rate}, ...]}, decimal per-settlement rates, positive = longs pay) and the funding_edge stage charges the funding leg against every holding period: it kills what only looked profitable because funding was ignored (funding_erases_edge) and what is carry income masquerading as timing skill (edge_is_funding_carry); a series that fails its own audit keeps the funding question open instead of acquitting. Data minimisation on request: sketch_opt_out=true skips persisting the 32-bucket return sketch, and the trial counts IN FULL toward the family budget (no evidence, no discount -- disclosed in the budget block). The response is code-computed and ledger-dependent: a new call can change the family budget. Byte-identical output is promised only by stored replay of the same non-empty request_id with the same canonical request. Demote-only. Price: per check; see https://api.alphaassay.com/v1/meta/pricing (api_key required -- account setup at https://api.alphaassay.com/account).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "spec": "<spec>",
      "ohlcv_by_symbol": "<ohlcv_by_symbol>"
    },
    "name": "assay_gauntlet"
  }
}

Input Schema

NameRequiredDescriptionDefault
specYesExecutable JSON DSL strategy to run the full battery on.
api_keyNoAPI key for a paid MCP check. Hosted Streamable HTTP clients should send it in the Authorization: Bearer transport header so the model never sees the secret; local stdio callers may supply the raw key in this tool argument without a Bearer prefix. Create an account at https://api.alphaassay.com/account; the current free allowance and prices are published at https://api.alphaassay.com/v1/meta/pricing. Paid MCP calls use API-key credits; x402 buys only the separate REST POST /x402/v1/gauntlet and is not MCP billing.
request_idNoOptional idempotency key for this paid execution. Retry the same request_id with the same payload to replay one stored result without another charge; reuse with a different payload returns idempotency_conflict.
sketch_opt_outNoTrue to skip the return sketch (data minimisation).
ohlcv_by_symbolYesYour candles per symbol for the gauntlet.
fee_bps_per_sideNoRound-trip cost in bps/side.
variants_in_callNoSibling-variant count for family trial accounting.
adv_by_symbol_usdNoAverage daily dollar volume per symbol, for the capacity / market-impact stress.
funding_by_symbolNoPer-symbol funding-rate series so the funding-edge stage can net carry out of the edge.
sigma_by_symbol_pctNoPer-symbol volatility (%) input for the risk/capacity cells when you have it.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed37 schema fields changed
    • addedInput schema / $defs
      Added value: +{
      +  "ConstNode": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "const": {
      +        "anyOf": [
      +          {
      +            "maximum": 1000000000000000,
      +            "minimum": -1000000000000000,
      +            "type": "integer",
      +            "x-strictJsonInteger": true
      +          },
      +          {
      +            "maximum": 1000000000000000,
      +            "minimum": -1000000000000000,
      +            "type": "number"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "const"
      +    ],
      +    "type": "object"
      +  },
      +  "FundingPoint": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "rate": {
      +        "anyOf": [
      +          {
      +            "maximum": 1000000000000000,
      +            "minimum": -1000000000000000,
      +            "type": "integer",
      +            "x-strictJsonInteger": true
      +          },
      +          {
      +            "maximum": 1000000000000000,
      +            "minimum": -1000000000000000,
      +            "type": "number"
      +          }
      +        ]
      +      },
      +      "ts": {
      +        "maxLength": 64,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "ts",
      +      "rate"
      +    ],
      +    "type": "object"
      +  },
      +  "IndicatorNode": {
      +    "additionalProperties": false,
      +    "oneOf": [
      +      {
      +        "properties": {
      +          "indicator": {
      +            "const": "price"
      +          },
      +          "window": {
      +            "type": "null"
      +          }
      +        },
      +        "required": [
      +          "indicator"
      +        ]
      +      },
      +      {
      +        "properties": {
      +          "indicator": {
      +            "const": "atr"
      +          },
      +          "source": {
      +            "type": "null"
      +          },
      +          "window": {
      +            "minimum": 1,
      +            "type": "integer",
      +            "x-strictJsonInteger": true
      +          }
      +        },
      +        "required": [
      +          "indicator",
      +          "window"
      +        ]
      +      },
      +      {
      +        "properties": {
      +          "indicator": {
      +            "const": "zscore"
      +          },
      +          "window": {
      +            "minimum": 2,
      +            "type": "integer",
      +            "x-strictJsonInteger": true
      +          }
      +        },
      +        "required": [
      +          "indicator",
      +          "window"
      +        ]
      +      },
      +      {
      +        "properties": {
      +          "indicator": {
      +            "enum": [
      +              "sma",
      +              "ema",
      +              "rsi",
      +              "roc"
      +            ]
      +          },
      +          "window": {
      +            "minimum": 1,
      +            "type": "integer",
      +            "x-strictJsonInteger": true
      +          }
      +        },
      +        "required": [
      +          "indicator",
      +          "window"
      +        ]
      +      }
      +    ],
      +    "properties": {
      +      "indicator": {
      +        "enum": [
      +          "sma",
      +          "ema",
      +          "rsi",
      +          "atr",
      +          "roc",
      +          "zscore",
      +          "price"
      +        ],
      +        "type": "string"
      +      },
      +      "source": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "open",
      +              "high",
      +              "low",
      +              "close",
      +              "volume"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "window": {
      +        "anyOf": [
      +          {
      +            "maximum": 5000,
      +            "minimum": 1,
      +            "type": "integer",
      +            "x-strictJsonInteger": true
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "indicator"
      +    ],
      +    "type": "object"
      +  },
      +  "OHLCVSeries": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "close": {
      +        "items": {
      +          "anyOf": [
      +            {
      +              "exclusiveMinimum": 0,
      +              "maximum": 1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "exclusiveMinimum": 0,
      +              "maximum": 1000000000000000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "maxItems": 5000,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "high": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 1000000000000000,
      +                  "type": "integer",
      +                  "x-strictJsonInteger": true
      +                },
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 1000000000000000,
      +                  "type": "number"
      +                }
      +              ]
      +            },
      +            "maxItems": 5000,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "low": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 1000000000000000,
      +                  "type": "integer",
      +                  "x-strictJsonInteger": true
      +                },
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 1000000000000000,
      +                  "type": "number"
      +                }
      +              ]
      +            },
      +            "maxItems": 5000,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "open": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 1000000000000000,
      +                  "type": "integer",
      +                  "x-strictJsonInteger": true
      +                },
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 1000000000000000,
      +                  "type": "number"
      +                }
      +              ]
      +            },
      +            "maxItems": 5000,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "time": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "maxItems": 5000,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "volume": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "maximum": 1000000000000000,
      +                  "minimum": 0,
      +                  "type": "integer",
      +                  "x-strictJsonInteger": true
      +                },
      +                {
      +                  "maximum": 1000000000000000,
      +                  "minimum": 0,
      +                  "type": "number"
      +                }
      +              ]
      +            },
      +            "maxItems": 5000,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "close"
      +    ],
      +    "type": "object",
      +    "x-relations": [
      +      "len(time|open|high|low|volume) == len(close) when present"
      +    ]
      +  },
      +  "SignalNode": {
      +    "additionalProperties": false,
      +    "oneOf": [
      +      {
      +        "properties": {
      +          "left": {
      +            "anyOf": [
      +              {
      +                "$ref": "#/$defs/ConstNode"
      +              },
      +              {
      +                "$ref": "#/$defs/IndicatorNode"
      +              }
      +            ]
      +          },
      +          "op": {
      +            "enum": [
      +              "cross_above",
      +              "cross_below",
      +              "gt",
      +              "lt"
      +            ]
      +          },
      +          "right": {
      +            "anyOf": [
      +              {
      +                "$ref": "#/$defs/ConstNode"
      +              },
      +              {
      +                "$ref": "#/$defs/IndicatorNode"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "op",
      +          "left",
      +          "right"
      +        ]
      +      },
      +      {
      +        "properties": {
      +          "left": {
      +            "$ref": "#/$defs/SignalNode"
      +          },
      +          "op": {
      +            "enum": [
      +              "and",
      +              "or"
      +            ]
      +          },
      +          "right": {
      +            "$ref": "#/$defs/SignalNode"
      +          }
      +        },
      +        "required": [
      +          "op",
      +          "left",
      +          "right"
      +        ]
      +      },
      +      {
      +        "properties": {
      +          "left": {
      +            "$ref": "#/$defs/SignalNode"
      +          },
      +          "op": {
      +            "const": "not"
      +          },
      +          "right": {
      +            "type": "null"
      +          }
      +        },
      +        "required": [
      +          "op",
      +          "left"
      +        ]
      +      }
      +    ],
      +    "properties": {
      +      "left": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/$defs/ConstNode"
      +          },
      +          {
      +            "$ref": "#/$defs/IndicatorNode"
      +          },
      +          {
      +            "$ref": "#/$defs/SignalNode"
      +          }
      +        ]
      +      },
      +      "op": {
      +        "enum": [
      +          "cross_above",
      +          "cross_below",
      +          "gt",
      +          "lt",
      +          "and",
      +          "or",
      +          "not"
      +        ],
      +        "type": "string"
      +      },
      +      "right": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/$defs/ConstNode"
      +          },
      +          {
      +            "$ref": "#/$defs/IndicatorNode"
      +          },
      +          {
      +            "$ref": "#/$defs/SignalNode"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "op",
      +      "left"
      +    ],
      +    "type": "object"
      +  },
      +  "StrategyPosition": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "else": {
      +        "const": "flat",
      +        "type": "string"
      +      },
      +      "on_signal": {
      +        "const": "long",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "on_signal",
      +      "else"
      +    ],
      +    "type": "object"
      +  },
      +  "StrategySpec": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "asset_universe": {
      +        "items": {
      +          "maxLength": 64,
      +          "minLength": 1,
      +          "pattern": "^\\S+$",
      +          "type": "string"
      +        },
      +        "maxItems": 50,
      +        "minItems": 1,
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "bar_interval": {
      +        "maxLength": 256,
      +        "minLength": 1,
      +        "pattern": "^\\S+$",
      +        "type": "string"
      +      },
      +      "dsl_version": {
      +        "const": "1",
      +        "type": "string"
      +      },
      +      "entry_lag_bars": {
      +        "default": 1,
      +        "maximum": 5000,
      +        "minimum": 0,
      +        "type": "integer",
      +        "x-strictJsonInteger": true
      +      },
      +      "position": {
      +        "anyOf": [
      +          {
      +            "$ref": "#/$defs/StrategyPosition"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "signal": {
      +        "$ref": "#/$defs/SignalNode",
      +        "x-maxDepth": 16
      +      },
      +      "target": {
      +        "$ref": "#/$defs/StrategyTarget"
      +      }
      +    },
      +    "required": [
      +      "dsl_version",
      +      "asset_universe",
      +      "bar_interval",
      +      "target",
      +      "signal"
      +    ],
      +    "type": "object"
      +  },
      +  "StrategyTarget": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "horizon_bars": {
      +        "maximum": 5000,
      +        "minimum": 1,
      +        "type": "integer",
      +        "x-strictJsonInteger": true
      +      },
      +      "kind": {
      +        "const": "forward_return",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "horizon_bars"
      +    ],
      +    "type": "object"
      +  }
      +}
    • removedInput schema / properties / adv_by_symbol_usd / additionalProperties
      Removed value: -true
    • addedInput schema / properties / adv_by_symbol_usd / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "maxProperties": 50,
      +    "patternProperties": {
      +      "^\\S+$": {
      +        "anyOf": [
      +          {
      +            "maximum": 1000000000000000,
      +            "minimum": 0,
      +            "type": "integer",
      +            "x-strictJsonInteger": true
      +          },
      +          {
      +            "maximum": 1000000000000000,
      +            "minimum": 0,
      +            "type": "number"
      +          }
      +        ]
      +      }
      +    },
      +    "propertyNames": {
      +      "maxLength": 64,
      +      "minLength": 1
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / adv_by_symbol_usd / title
      Removed value: -"Adv By Symbol Usd"
    • removedInput schema / properties / adv_by_symbol_usd / type
      Removed value: -"object"
    • changedInput schema / properties / api_key / description
      Previous value: -"API key for a paid check (Bearer). Free account with 3 free checks at https://api.alphaassay.com/account; agents can also pay per call via x402."New value: +"API key for a paid MCP check. Hosted Streamable HTTP clients should send it in the Authorization: Bearer transport header so the model never sees the secret; local stdio callers may supply the raw key in this tool argument without a Bearer prefix. Create an account at https://api.alphaassay.com/account; the current free allowance and prices are published at https://api.alphaassay.com/v1/meta/pricing. Paid MCP calls use API-key credits; x402 buys only the separate REST POST /x402/v1/gauntlet and is not MCP billing."
    • addedInput schema / properties / api_key / maxLength
      Added value: +512
    • removedInput schema / properties / api_key / title
      Removed value: -"Api Key"
    • addedInput schema / properties / fee_bps_per_side / anyOf
      Added value: +[
      +  {
      +    "maximum": 1000,
      +    "minimum": 0,
      +    "type": "integer",
      +    "x-strictJsonInteger": true
      +  },
      +  {
      +    "maximum": 1000,
      +    "minimum": 0,
      +    "type": "number"
      +  }
      +]
    • removedInput schema / properties / fee_bps_per_side / title
      Removed value: -"Fee Bps Per Side"
    • removedInput schema / properties / fee_bps_per_side / type
      Removed value: -"number"
    • removedInput schema / properties / funding_by_symbol / additionalProperties
      Removed value: -true
    • addedInput schema / properties / funding_by_symbol / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "maxProperties": 50,
      +    "patternProperties": {
      +      "^\\S+$": {
      +        "items": {
      +          "$ref": "#/$defs/FundingPoint"
      +        },
      +        "maxItems": 5000,
      +        "minItems": 1,
      +        "type": "array"
      +      }
      +    },
      +    "propertyNames": {
      +      "maxLength": 64,
      +      "minLength": 1
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / funding_by_symbol / title
      Removed value: -"Funding By Symbol"
    • removedInput schema / properties / funding_by_symbol / type
      Removed value: -"object"
    • changedInput schema / properties / ohlcv_by_symbol / additionalProperties
      Previous value: -trueNew value: +false
    • addedInput schema / properties / ohlcv_by_symbol / maxProperties
      Added value: +50
    • addedInput schema / properties / ohlcv_by_symbol / patternProperties
      Added value: +{
      +  "^\\S+$": {
      +    "$ref": "#/$defs/OHLCVSeries"
      +  }
      +}
    • addedInput schema / properties / ohlcv_by_symbol / propertyNames
      Added value: +{
      +  "maxLength": 64,
      +  "minLength": 1
      +}
    • removedInput schema / properties / ohlcv_by_symbol / title
      Removed value: -"Ohlcv By Symbol"
    • addedInput schema / properties / request_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 256,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional idempotency key for this paid execution. Retry the same request_id with the same payload to replay one stored result without another charge; reuse with a different payload returns idempotency_conflict."
      +}
    • removedInput schema / properties / sigma_by_symbol_pct / additionalProperties
      Removed value: -true
    • addedInput schema / properties / sigma_by_symbol_pct / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "maxProperties": 50,
      +    "patternProperties": {
      +      "^\\S+$": {
      +        "anyOf": [
      +          {
      +            "maximum": 1000000000000000,
      +            "minimum": 0,
      +            "type": "integer",
      +            "x-strictJsonInteger": true
      +          },
      +          {
      +            "maximum": 1000000000000000,
      +            "minimum": 0,
      +            "type": "number"
      +          }
      +        ]
      +      }
      +    },
      +    "propertyNames": {
      +      "maxLength": 64,
      +      "minLength": 1
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / sigma_by_symbol_pct / title
      Removed value: -"Sigma By Symbol Pct"
    • removedInput schema / properties / sigma_by_symbol_pct / type
      Removed value: -"object"
    • removedInput schema / properties / sketch_opt_out / title
      Removed value: -"Sketch Opt Out"
    • addedInput schema / properties / spec / $ref
      Added value: +"#/$defs/StrategySpec"
    • removedInput schema / properties / spec / additionalProperties
      Removed value: -true
    • removedInput schema / properties / spec / title
      Removed value: -"Spec"
    • removedInput schema / properties / spec / type
      Removed value: -"object"
    • addedInput schema / properties / variants_in_call / maximum
      Added value: +25
    • addedInput schema / properties / variants_in_call / minimum
      Added value: +1
    • removedInput schema / properties / variants_in_call / title
      Removed value: -"Variants In Call"
    • addedInput schema / properties / variants_in_call / x-strictJsonInteger
      Added value: +true
    • removedInput schema / title
      Removed value: -"assay_gauntletArguments"
    • addedInput schema / x-maxBodyBytes
      Added value: +5242880
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "BinomialEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "n": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "pvalue": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "significant": {
      +          "type": "boolean"
      +        },
      +        "wins": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        }
      +      },
      +      "required": [
      +        "wins",
      +        "n",
      +        "pvalue",
      +        "significant"
      +      ],
      +      "type": "object"
      +    },
      +    "CapacityEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "break_even_aum_usd": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "break_even_binding_symbol": {
      +          "anyOf": [
      +            {
      +              "maxLength": 256,
      +              "minLength": 1,
      +              "pattern": "^\\S+$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "capacity_ceiling_usd": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "cost_model_uncertainty": {
      +          "$ref": "#/$defs/CostModelUncertainty"
      +        },
      +        "mean_gross_return_pct_per_trade": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "model_range_exceeded": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "capacity_ceiling_usd",
      +        "break_even_aum_usd",
      +        "break_even_binding_symbol",
      +        "model_range_exceeded",
      +        "cost_model_uncertainty",
      +        "mean_gross_return_pct_per_trade"
      +      ],
      +      "type": "object"
      +    },
      +    "CapacityStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/CapacityEvidence"
      +            },
      +            {
      +              "$ref": "#/$defs/EmptyObject"
      +            }
      +          ]
      +        },
      +        "stage": {
      +          "const": "capacity",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail",
      +            "skipped"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "ConcentrationEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "n_top_bars": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "rest_net_return_total_pct": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "top_1pct_share": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "warn_share_threshold": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "top_1pct_share",
      +        "n_top_bars",
      +        "rest_net_return_total_pct",
      +        "warn_share_threshold"
      +      ],
      +      "type": "object"
      +    },
      +    "ConcentrationStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "$ref": "#/$defs/ConcentrationEvidence"
      +        },
      +        "stage": {
      +          "const": "concentration",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail",
      +            "warn",
      +            "info"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "ConfidenceInterval": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "contains_zero": {
      +          "type": "boolean"
      +        },
      +        "hi": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "lo": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "n_resamples": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        }
      +      },
      +      "required": [
      +        "lo",
      +        "hi",
      +        "contains_zero",
      +        "n_resamples"
      +      ],
      +      "type": "object"
      +    },
      +    "CostModelUncertainty": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "ceiling_by_exponent": {
      +          "$ref": "#/$defs/NullableNumberMap"
      +        },
      +        "exponent_band": {
      +          "items": {
      +            "anyOf": [
      +              {
      +                "maximum": 1000000000000000,
      +                "minimum": -1000000000000000,
      +                "type": "integer",
      +                "x-strictJsonInteger": true
      +              },
      +              {
      +                "maximum": 1000000000000000,
      +                "minimum": -1000000000000000,
      +                "type": "number"
      +              }
      +            ]
      +          },
      +          "maxItems": 10000,
      +          "type": "array"
      +        },
      +        "worst_case_ceiling_usd": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "exponent_band",
      +        "ceiling_by_exponent",
      +        "worst_case_ceiling_usd"
      +      ],
      +      "type": "object"
      +    },
      +    "CpcvComputedEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "median_combination_sharpe_annualized": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "min_share_positive": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "n_combinations": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "purge": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "share_positive": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "worst_combination_sharpe_annualized": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "share_positive",
      +        "min_share_positive",
      +        "median_combination_sharpe_annualized",
      +        "worst_combination_sharpe_annualized",
      +        "n_combinations",
      +        "purge"
      +      ],
      +      "type": "object"
      +    },
      +    "CpcvStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/CpcvComputedEvidence"
      +            },
      +            {
      +              "$ref": "#/$defs/InsufficientStageEvidence"
      +            }
      +          ]
      +        },
      +        "stage": {
      +          "const": "cpcv",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail",
      +            "skipped"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "EmptyObject": {
      +      "additionalProperties": false,
      +      "description": "An explicitly empty, closed object.",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "FamilyDeflationEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "cumulative_n": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "dsr": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "effective_n_method": {
      +          "anyOf": [
      +            {
      +              "maxLength": 2000,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "family_verdict": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "survives",
      +                "deflated_out"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "killed_by": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "enum": [
      +                  "evt_dsr",
      +                  "harvey_liu_bh"
      +                ],
      +                "type": "string"
      +              },
      +              "maxItems": 2,
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "n_trials_effective": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "variants_in_call": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "dsr",
      +        "cumulative_n",
      +        "n_trials_effective",
      +        "variants_in_call",
      +        "family_verdict",
      +        "effective_n_method",
      +        "killed_by"
      +      ],
      +      "type": "object"
      +    },
      +    "FamilyDeflationStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "$ref": "#/$defs/FamilyDeflationEvidence"
      +        },
      +        "stage": {
      +          "const": "family_deflation",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "FundingEdgeStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/FundingEvidence"
      +            },
      +            {
      +              "$ref": "#/$defs/EmptyObject"
      +            }
      +          ]
      +        },
      +        "stage": {
      +          "const": "funding_edge",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail",
      +            "warn",
      +            "skipped"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "FundingEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detected_interval_hours": {
      +          "$ref": "#/$defs/NullableNumberMap"
      +        },
      +        "flags": {
      +          "items": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "maxItems": 10000,
      +          "type": "array"
      +        },
      +        "funding_pnl_total_pct": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "funding_share_of_net": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "n_funding_events_charged": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "net_return_after_funding_pct": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "price_net_return_total_pct": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "rate_convention": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "funding_pnl_total_pct",
      +        "price_net_return_total_pct",
      +        "net_return_after_funding_pct",
      +        "funding_share_of_net",
      +        "n_funding_events_charged",
      +        "detected_interval_hours",
      +        "rate_convention",
      +        "flags"
      +      ],
      +      "type": "object"
      +    },
      +    "GauntletBudget": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "break_even_n": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "cumulative_n": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "effective_n_method": {
      +          "anyOf": [
      +            {
      +              "maxLength": 2000,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "family_threshold_sharpe_per_obs": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "n_trials_effective": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "note": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "sketch_note": {
      +          "anyOf": [
      +            {
      +              "maxLength": 2000,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        },
      +        "sketch_retained": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        }
      +      },
      +      "required": [
      +        "cumulative_n",
      +        "n_trials_effective",
      +        "effective_n_method",
      +        "break_even_n",
      +        "family_threshold_sharpe_per_obs",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    "GraveyardPriorEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "family_published": {
      +          "type": "boolean"
      +        },
      +        "prior_kill_rate": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "top_kill_reasons": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "$ref": "#/$defs/KillReason"
      +              },
      +              "maxItems": 5,
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "family_published",
      +        "prior_kill_rate",
      +        "top_kill_reasons"
      +      ],
      +      "type": "object"
      +    },
      +    "GraveyardPriorStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "$ref": "#/$defs/GraveyardPriorEvidence"
      +        },
      +        "stage": {
      +          "const": "graveyard_prior",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "const": "info",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "HacEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "contains_zero": {
      +          "type": "boolean"
      +        },
      +        "hi": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "lag": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "lo": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "method": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "se_hac": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "se_naive": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "t_hac": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "variance_ratio": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "lo",
      +        "hi",
      +        "se_naive",
      +        "se_hac",
      +        "t_hac",
      +        "variance_ratio",
      +        "lag",
      +        "contains_zero",
      +        "method"
      +      ],
      +      "type": "object"
      +    },
      +    "InsufficientStageEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "reason": {
      +          "anyOf": [
      +            {
      +              "maxLength": 2000,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "reason"
      +      ],
      +      "type": "object"
      +    },
      +    "KillReason": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "count": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "reason": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "reason",
      +        "count"
      +      ],
      +      "type": "object"
      +    },
      +    "NetEdgeEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "bars": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "net_return_total_pct": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "net_sharpe_annualized": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "trades": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        }
      +      },
      +      "required": [
      +        "net_sharpe_annualized",
      +        "net_return_total_pct",
      +        "trades",
      +        "bars"
      +      ],
      +      "type": "object"
      +    },
      +    "NetEdgeStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "$ref": "#/$defs/NetEdgeEvidence"
      +        },
      +        "stage": {
      +          "const": "net_edge",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "NormalityEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "excess_kurtosis": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "normal_plausible": {
      +          "type": "boolean"
      +        },
      +        "skew": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "skew",
      +        "excess_kurtosis",
      +        "normal_plausible"
      +      ],
      +      "type": "object"
      +    },
      +    "NullableNumberMap": {
      +      "additionalProperties": false,
      +      "description": "Bounded runtime-keyed map of finite or unavailable numbers.",
      +      "maxProperties": 256,
      +      "patternProperties": {
      +        "^\\S+$": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "propertyNames": {
      +        "maxLength": 128,
      +        "minLength": 1
      +      },
      +      "type": "object"
      +    },
      +    "PermutationEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "n_permutations": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        },
      +        "pvalue": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "pvalue"
      +      ],
      +      "type": "object"
      +    },
      +    "PlaceboEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "basis": {
      +          "const": "per_trade_gross",
      +          "type": "string"
      +        },
      +        "chronology_percentile": {
      +          "anyOf": [
      +            {
      +              "maximum": 100,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 100,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "n_placebos_effective": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "percentile": {
      +          "anyOf": [
      +            {
      +              "maximum": 100,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 100,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "real_trade_sharpe_annualized": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "sign_shuffle_percentile": {
      +          "anyOf": [
      +            {
      +              "maximum": 100,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 100,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "percentile",
      +        "n_placebos_effective",
      +        "basis",
      +        "sign_shuffle_percentile",
      +        "chronology_percentile",
      +        "real_trade_sharpe_annualized"
      +      ],
      +      "type": "object"
      +    },
      +    "PlaceboStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "$ref": "#/$defs/PlaceboEvidence"
      +        },
      +        "stage": {
      +          "const": "placebo",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail",
      +            "warn",
      +            "skipped"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "PowerHonestyEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "achieved_power": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "bars": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "cohens_d": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "min_btl_obs": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "n_required_80": {
      +          "anyOf": [
      +            {
      +              "maximum": 9223372036854776000,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "n_trials_effective": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "underpowered": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "min_btl_obs",
      +        "bars",
      +        "n_trials_effective",
      +        "achieved_power",
      +        "cohens_d",
      +        "n_required_80",
      +        "underpowered"
      +      ],
      +      "type": "object"
      +    },
      +    "PowerHonestyStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "$ref": "#/$defs/PowerHonestyEvidence"
      +        },
      +        "stage": {
      +          "const": "power_honesty",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail",
      +            "info"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "PublicMeta": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "api_version": {
      +          "maxLength": 256,
      +          "minLength": 1,
      +          "pattern": "^\\S+$",
      +          "type": "string"
      +        },
      +        "as_of": {
      +          "format": "date-time",
      +          "maxLength": 20,
      +          "minLength": 20,
      +          "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$",
      +          "type": "string"
      +        },
      +        "disclaimer": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "engine_version": {
      +          "maxLength": 256,
      +          "minLength": 1,
      +          "pattern": "^\\S+$",
      +          "type": "string"
      +        },
      +        "input_digest": {
      +          "pattern": "^sha256:[0-9a-f]{64}$",
      +          "type": "string"
      +        },
      +        "not_financial_advice": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "operation": {
      +          "maxLength": 256,
      +          "minLength": 1,
      +          "pattern": "^\\S+$",
      +          "type": "string"
      +        },
      +        "request_digest": {
      +          "pattern": "^sha256:[0-9a-f]{64}$",
      +          "type": "string"
      +        },
      +        "request_id": {
      +          "anyOf": [
      +            {
      +              "maxLength": 256,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "source_identity_digest": {
      +          "pattern": "^sha256:[0-9a-f]{64}$",
      +          "type": "string"
      +        },
      +        "statefulness": {
      +          "enum": [
      +            "pure",
      +            "public_read",
      +            "tenant_read",
      +            "tenant_write"
      +          ],
      +          "type": "string"
      +        },
      +        "tenant_scope": {
      +          "maxLength": 256,
      +          "minLength": 1,
      +          "pattern": "^\\S+$",
      +          "type": "string"
      +        },
      +        "tenant_scope_version": {
      +          "maxLength": 256,
      +          "minLength": 1,
      +          "pattern": "^\\S+$",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "engine_version",
      +        "api_version",
      +        "as_of",
      +        "input_digest",
      +        "request_digest",
      +        "tenant_scope",
      +        "tenant_scope_version",
      +        "request_id",
      +        "source_identity_digest",
      +        "operation",
      +        "statefulness",
      +        "not_financial_advice",
      +        "disclaimer"
      +      ],
      +      "type": "object",
      +      "x-relations": [
      +        "as_of is a real UTC RFC3339 second"
      +      ]
      +    },
      +    "SignificanceEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "advisories": {
      +          "items": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "maxItems": 10000,
      +          "type": "array"
      +        },
      +        "binomial": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/BinomialEvidence"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "bootstrap_ci": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/ConfidenceInterval"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "flags": {
      +          "items": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "maxItems": 10000,
      +          "type": "array"
      +        },
      +        "hac": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/HacEvidence"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "normality": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/NormalityEvidence"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "permutation": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/PermutationEvidence"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "studentized_ci": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/StudentizedInterval"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "bootstrap_ci",
      +        "studentized_ci",
      +        "hac",
      +        "permutation",
      +        "binomial",
      +        "normality",
      +        "flags",
      +        "advisories"
      +      ],
      +      "type": "object"
      +    },
      +    "SignificanceStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "$ref": "#/$defs/SignificanceEvidence"
      +        },
      +        "stage": {
      +          "const": "significance",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "info",
      +            "skipped"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    },
      +    "StudentizedInterval": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "contains_zero": {
      +          "type": "boolean"
      +        },
      +        "hi": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "lo": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "method": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "n_resamples": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        }
      +      },
      +      "required": [
      +        "lo",
      +        "hi",
      +        "contains_zero",
      +        "n_resamples",
      +        "method"
      +      ],
      +      "type": "object"
      +    },
      +    "WalkForwardEvidence": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "generalization_ratio": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "is_oos_correlation": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": -1,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": -1,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "n_folds": {
      +          "maximum": 9223372036854776000,
      +          "minimum": 0,
      +          "type": "integer",
      +          "x-strictJsonInteger": true
      +        },
      +        "oos_median_sharpe_per_obs": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "oos_share_positive": {
      +          "anyOf": [
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "oos_sum": {
      +          "anyOf": [
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "integer",
      +              "x-strictJsonInteger": true
      +            },
      +            {
      +              "maximum": 1000000000000000,
      +              "minimum": -1000000000000000,
      +              "type": "number"
      +            }
      +          ]
      +        },
      +        "weak_generalization": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "n_folds",
      +        "oos_share_positive",
      +        "oos_median_sharpe_per_obs",
      +        "oos_sum",
      +        "generalization_ratio",
      +        "is_oos_correlation",
      +        "weak_generalization"
      +      ],
      +      "type": "object"
      +    },
      +    "WalkForwardStage": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "detail": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "evidence": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/WalkForwardEvidence"
      +            },
      +            {
      +              "$ref": "#/$defs/InsufficientStageEvidence"
      +            }
      +          ]
      +        },
      +        "stage": {
      +          "const": "walk_forward",
      +          "type": "string"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "fail",
      +            "info",
      +            "skipped"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stage",
      +        "verdict",
      +        "evidence",
      +        "detail"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "additionalProperties": false,
      +  "properties": {
      +    "result": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "_meta": {
      +          "$ref": "#/$defs/PublicMeta"
      +        },
      +        "budget": {
      +          "$ref": "#/$defs/GauntletBudget"
      +        },
      +        "data_note": {
      +          "anyOf": [
      +            {
      +              "maxLength": 2000,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        },
      +        "died_at": {
      +          "anyOf": [
      +            {
      +              "maxLength": 2000,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "died_at_plain": {
      +          "anyOf": [
      +            {
      +              "maxLength": 2000,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "disclaimer": {
      +          "maxLength": 2000,
      +          "type": "string"
      +        },
      +        "failure_codes": {
      +          "items": {
      +            "maxLength": 2000,
      +            "type": "string"
      +          },
      +          "maxItems": 10000,
      +          "type": "array"
      +        },
      +        "family_id": {
      +          "maxLength": 256,
      +          "minLength": 1,
      +          "pattern": "^\\S+$",
      +          "type": "string"
      +        },
      +        "schema": {
      +          "const": "gauntlet.v1",
      +          "type": "string"
      +        },
      +        "spec_hash": {
      +          "maxLength": 256,
      +          "minLength": 1,
      +          "pattern": "^\\S+$",
      +          "type": "string"
      +        },
      +        "stages": {
      +          "items": {
      +            "discriminator": {
      +              "mapping": {
      +                "capacity": "#/$defs/CapacityStage",
      +                "concentration": "#/$defs/ConcentrationStage",
      +                "cpcv": "#/$defs/CpcvStage",
      +                "family_deflation": "#/$defs/FamilyDeflationStage",
      +                "funding_edge": "#/$defs/FundingEdgeStage",
      +                "graveyard_prior": "#/$defs/GraveyardPriorStage",
      +                "net_edge": "#/$defs/NetEdgeStage",
      +                "placebo": "#/$defs/PlaceboStage",
      +                "power_honesty": "#/$defs/PowerHonestyStage",
      +                "significance": "#/$defs/SignificanceStage",
      +                "walk_forward": "#/$defs/WalkForwardStage"
      +              },
      +              "propertyName": "stage"
      +            },
      +            "oneOf": [
      +              {
      +                "$ref": "#/$defs/NetEdgeStage"
      +              },
      +              {
      +                "$ref": "#/$defs/FundingEdgeStage"
      +              },
      +              {
      +                "$ref": "#/$defs/FamilyDeflationStage"
      +              },
      +              {
      +                "$ref": "#/$defs/PowerHonestyStage"
      +              },
      +              {
      +                "$ref": "#/$defs/SignificanceStage"
      +              },
      +              {
      +                "$ref": "#/$defs/CpcvStage"
      +              },
      +              {
      +                "$ref": "#/$defs/WalkForwardStage"
      +              },
      +              {
      +                "$ref": "#/$defs/ConcentrationStage"
      +              },
      +              {
      +                "$ref": "#/$defs/PlaceboStage"
      +              },
      +              {
      +                "$ref": "#/$defs/CapacityStage"
      +              },
      +              {
      +                "$ref": "#/$defs/GraveyardPriorStage"
      +              }
      +            ]
      +          },
      +          "maxItems": 11,
      +          "minItems": 1,
      +          "type": "array"
      +        },
      +        "verdict": {
      +          "enum": [
      +            "pass",
      +            "conditional",
      +            "fail"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "_meta",
      +        "schema",
      +        "verdict",
      +        "budget",
      +        "stages",
      +        "failure_codes",
      +        "family_id",
      +        "spec_hash",
      +        "disclaimer",
      +        "died_at",
      +        "died_at_plain"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  2. Changed9 schema fields changed
    • addedInput schema / properties / adv_by_symbol_usd / description
      Added value: +"Average daily dollar volume per symbol, for the capacity / market-impact stress."
    • addedInput schema / properties / api_key / description
      Added value: +"API key for a paid check (Bearer). Free account with 3 free checks at https://api.alphaassay.com/account; agents can also pay per call via x402."
    • addedInput schema / properties / fee_bps_per_side / description
      Added value: +"Round-trip cost in bps/side."
    • addedInput schema / properties / funding_by_symbol / description
      Added value: +"Per-symbol funding-rate series so the funding-edge stage can net carry out of the edge."
    • addedInput schema / properties / ohlcv_by_symbol / description
      Added value: +"Your candles per symbol for the gauntlet."
    • addedInput schema / properties / sigma_by_symbol_pct / description
      Added value: +"Per-symbol volatility (%) input for the risk/capacity cells when you have it."
    • addedInput schema / properties / sketch_opt_out / description
      Added value: +"True to skip the return sketch (data minimisation)."
    • addedInput schema / properties / spec / description
      Added value: +"Executable JSON DSL strategy to run the full battery on."
    • addedInput schema / properties / variants_in_call / description
      Added value: +"Sibling-variant count for family trial accounting."
  3. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  4. Changed1 schema field changed
    • addedInput schema / properties / sketch_opt_out
      Added value: +{
      +  "default": false,
      +  "title": "Sketch Opt Out",
      +  "type": "boolean"
      +}
  5. Changed1 schema field changed
    • addedInput schema / properties / funding_by_symbol
      Added value: +{
      +  "additionalProperties": true,
      +  "default": null,
      +  "title": "Funding By Symbol",
      +  "type": "object"
      +}
  6. Changed3 schema fields changed
    • addedInput schema / properties / api_key
      Added value: +{
      +  "default": "",
      +  "title": "Api Key",
      +  "type": "string"
      +}
    • removedInput schema / properties / user_id
      Removed value: -{
      -  "title": "User Id",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "user_id",
      -  "spec",
      -  "ohlcv_by_symbol"
      -]New value: +[
      +  "spec",
      +  "ohlcv_by_symbol"
      +]
  7. First observed

TDQS

A4.8/5.0
Behavior5/5

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

The description discloses key behavioral traits beyond annotations: it is code-computed and ledger-dependent, trial counts count fully toward the family budget, and it consumes budget. It explains idempotency guarantees (byte-identical output for same request_id) and that new calls can change the family budget. Annotations indicate destructiveHint=true and readOnlyHint=false, which align with the description's implication that this tool is a paid, destructive check. No contradictions.

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

Conciseness4/5

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

The description is relatively long (~200 words) but front-loaded with the primary purpose. It uses bullet-like lists and clear terminology. Every sentence adds value, though some sections could be more concise (e.g., funding_by_symbol details). The structure is logical, starting with usage, then parameter explanations, then behavioral notes. It is appropriately sized for the complexity of the tool.

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

Completeness5/5

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

Given the tool's complexity (10 parameters, 2 required, nested objects, and an output schema), the description is remarkably complete. It covers when to use, what the output contains (failure_codes, placebo percentile, capacity ceiling), optional parameter usage (funding, sigma, ADV), pricing, idempotency, data minimisation, and budget impact. The presence of an output schema means return values need no additional explanation. No gaps.

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 baseline is 3. The description adds contextual meaning beyond the schema for parameters like api_key (explaining transport differences), request_id (idempotency semantics), funding_by_symbol (how funding erases edge), and sketch_opt_out (data minimisation). It also describes the relationship between parameters like adv_by_symbol_usd and capacity gate. This extra context raises the score above baseline.

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

Purpose5/5

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

The description clearly states the tool runs a comprehensive adversarial battery on a strategy, listing overfitting, leakage, costs, regimes, and a matched-random placebo. It explicitly distinguishes itself as the 'whole reality-check battery' and emphasizes it produces a demote-only dossier, not buy/sell advice. The verb 'run' and resource 'adversarial signal gauntlet' are specific and differentiate it from sibling tools like assay_backtest or assay_falsify.

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

Usage Guidelines5/5

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

The opening sentence explicitly tells when to use this tool: 'when you want the whole reality-check battery on a strategy in one call'. It provides context about what it does and what it returns (failure_codes, placebo percentile, etc.). It also explains optional parameters like funding_by_symbol for perpetuals and sketch_opt_out for data minimization. There is clear guidance on idempotency via request_id, pricing, and that it is demote-only, never buy/sell advice.

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