此 MCP 可以做什么
Audits and validates trading strategies and backtests for overfitting, leakage, costs, statistical reliability, and reproducibility.
工具
输入模式
{'type': 'object', '$defs': {'ConstNode': {'type': 'object', 'required': ['const'], 'properties': {'const': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'SignalNode': {'type': 'object', 'oneOf': [{'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt']}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}}}, {'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['and', 'or']}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'$ref': '#/$defs/SignalNode'}}}, {'required': ['op', 'left'], 'properties': {'op': {'const': 'not'}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'type': 'null'}}}], 'required': ['op', 'left'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt', 'and', 'or', 'not'], 'type': 'string'}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'OHLCVSeries': {'type': 'object', 'required': ['close'], 'properties': {'low': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'high': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'open': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'time': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'close': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, 'volume': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}}, 'x-relations': ['len(time|open|high|low|volume) == len(close) when present'], 'additionalProperties': False}, 'StrategySpec': {'type': 'object', 'required': ['dsl_version', 'asset_universe', 'bar_interval', 'target', 'signal'], 'properties': {'signal': {'$ref': '#/$defs/SignalNode', 'x-maxDepth': 16}, 'target': {'$ref': '#/$defs/StrategyTarget'}, 'position': {'anyOf': [{'$ref': '#/$defs/StrategyPosition'}, {'type': 'null'}], 'default': None}, 'dsl_version': {'type': 'string', 'const': '1'}, 'bar_interval': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'asset_universe': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, 'entry_lag_bars': {'type': 'integer', 'default': 1, 'maximum': 5000, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'IndicatorNode': {'type': 'object', 'oneOf': [{'required': ['indicator'], 'properties': {'window': {'type': 'null'}, 'indicator': {'const': 'price'}}}, {'required': ['indicator', 'window'], 'properties': {'source': {'type': 'null'}, 'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'const': 'atr'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 2, 'x-strictJsonInteger': True}, 'indicator': {'const': 'zscore'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'roc']}}}], 'required': ['indicator'], 'properties': {'source': {'anyOf': [{'enum': ['open', 'high', 'low', 'close', 'volume'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'window': {'anyOf': [{'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'atr', 'roc', 'zscore', 'price'], 'type': 'string'}}, 'additionalProperties': False}, 'StrategyTarget': {'type': 'object', 'required': ['kind', 'horizon_bars'], 'properties': {'kind': {'type': 'string', 'const': 'forward_return'}, 'horizon_bars': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'StrategyPosition': {'type': 'object', 'required': ['on_signal', 'else'], 'properties': {'else': {'type': 'string', 'const': 'flat'}, 'on_signal': {'type': 'string', 'const': 'long'}}, 'additionalProperties': False}}, 'required': ['spec', 'ohlcv_by_symbol'], 'properties': {'spec': {'$ref': '#/$defs/StrategySpec', 'description': 'Executable JSON DSL strategy (indicators sma/ema/rsi/atr/roc/zscore/price; ops cross_above/cross_below/gt/lt/and/or/not) -- the rule to backtest and record in your family ledger.'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'sketch_opt_out': {'type': 'boolean', 'default': False, 'description': 'True to skip persisting the 32-bucket return sketch (data minimisation); the trial then counts in full toward the family budget.'}, 'ohlcv_by_symbol': {'type': 'object', 'description': 'Your candles per symbol to run the DSL rule on.', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/OHLCVSeries'}}, 'additionalProperties': False}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}], 'default': 10.0, 'description': 'Round-trip cost in bps/side for net returns.'}, 'variants_in_call': {'type': 'integer', 'default': 1, 'maximum': 25, 'minimum': 1, 'description': 'How many sibling variants this call represents, for honest family-level trial accounting.', 'x-strictJsonInteger': True}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'EbComputed': {'type': 'object', 'required': ['status', 'family_t_stats_n', 'sigma_signal_sq', 'shrink_factor', 't_observed', 't_shrunk', 'sharpe_shrunk_per_obs', 'method', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'method': {'type': 'string', 'const': 'efron_morris_prior_zero'}, 'status': {'type': 'string', 'const': 'computed'}, 't_shrunk': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 't_observed': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'shrink_factor': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'sigma_signal_sq': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'family_t_stats_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'sharpe_shrunk_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'EbInsufficient': {'type': 'object', 'required': ['status', 'family_t_stats_n', 'method', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'method': {'type': 'string', 'const': 'efron_morris_prior_zero'}, 'status': {'type': 'string', 'const': 'insufficient_family_history'}, 'family_t_stats_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'FamilyComputed': {'type': 'object', 'required': ['status', 'sharpe_per_obs', 'n_observations', 'skew', 'kurtosis', 'n_trials', 'variance_of_sharpe', 'expected_max_sharpe_null', 'psr_vs_zero', 'dsr', 'cumulative_n', 'global_family_n', 'variants_in_call', 'n_trials_effective', 'n_hat_ledger', 'effective_n_method', 'mean_correlation', 'overlap_warning', 'thresholds', 'killed_by', 'family_verdict', 'sketch_retained', 'eb_shrinkage', 'break_even_n', 'dsr_attribution', 'note'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'note': {'type': 'string', 'maxLength': 2000}, 'skew': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'status': {'type': 'string', 'const': 'computed'}, 'kurtosis': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'n_trials': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'killed_by': {'type': 'array', 'items': {'enum': ['evt_dsr', 'harvey_liu_bh'], 'type': 'string'}, 'maxItems': 2}, 'thresholds': {'$ref': '#/$defs/FamilyThresholds'}, 'psr_vs_zero': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'sketch_note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'break_even_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'cumulative_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'eb_shrinkage': {'oneOf': [{'$ref': '#/$defs/EbInsufficient'}, {'$ref': '#/$defs/EbComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/EbComputed', 'insufficient_family_history': '#/$defs/EbInsufficient'}, 'propertyName': 'status'}}, 'n_hat_ledger': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'family_verdict': {'enum': ['survives', 'deflated_out'], 'type': 'string'}, 'n_observations': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'sharpe_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'dsr_attribution': {'oneOf': [{'$ref': '#/$defs/DsrAttributionUnavailable'}, {'$ref': '#/$defs/DsrAttributionComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/DsrAttributionComputed', 'not_computed': '#/$defs/DsrAttributionUnavailable'}, 'propertyName': 'status'}}, 'global_family_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'overlap_warning': {'type': 'boolean'}, 'sketch_retained': {'type': 'boolean'}, 'mean_correlation': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}, {'type': 'null'}]}, 'variants_in_call': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'effective_n_method': {'type': 'string', 'maxLength': 2000}, 'n_trials_effective': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'variance_of_sharpe': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'expected_max_sharpe_null': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'EvtDsrThreshold': {'type': 'object', 'required': ['dsr', 'min', 'survives'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'min': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'survives': {'type': 'boolean'}}, 'additionalProperties': False}, 'FamilyThresholds': {'type': 'object', 'required': ['evt_dsr', 'harvey_liu_bh'], 'properties': {'evt_dsr': {'$ref': '#/$defs/EvtDsrThreshold'}, 'harvey_liu_bh': {'$ref': '#/$defs/HarveyLiuThreshold'}}, 'additionalProperties': False}, 'FamilyNotComputed': {'type': 'object', 'required': ['status', 'reason'], 'properties': {'reason': {'type': 'string', 'maxLength': 2000}, 'status': {'type': 'string', 'const': 'not_computed'}}, 'additionalProperties': False}, 'TrialLedgerRecord': {'type': 'object', 'required': ['recorded', 'spec_hash', 'family_id', 'cumulative_n', 'disclaimer'], 'properties': {'recorded': {'type': 'boolean'}, 'family_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'spec_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'cumulative_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'HarveyLiuThreshold': {'type': 'object', 'required': ['p_single', 'p_adjusted', 'alpha', 'survives'], 'properties': {'alpha': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'p_single': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'survives': {'type': 'boolean'}, 'p_adjusted': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'DsrAttributionComputed': {'type': 'object', 'required': ['status', 'base_psr_normal_no_selection', 'dsr', 'dsr_normal_tails', 'total_haircut', 'selection_haircut', 'non_normality_haircut', 'interaction', 'tipping_point_n_trials', 'verdict_would_flip_under_normal_tails', 'interpretation'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'status': {'type': 'string', 'const': 'computed'}, 'interaction': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'total_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'interpretation': {'type': 'string', 'maxLength': 2000}, 'dsr_normal_tails': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'selection_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'non_normality_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'tipping_point_n_trials': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'base_psr_normal_no_selection': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'verdict_would_flip_under_normal_tails': {'type': 'boolean'}}, 'additionalProperties': False}, 'DsrAttributionUnavailable': {'type': 'object', 'required': ['status', 'reason', 'dsr'], 'properties': {'dsr': {'type': 'null'}, 'reason': {'type': 'string', 'maxLength': 2000}, 'status': {'type': 'string', 'const': 'not_computed'}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'bars', 'net_return_total', 'ledger', 'family_deflated_verdict', 'family_id', 'spec_hash', 'disclaimer'], 'properties': {'bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'ledger': {'$ref': '#/$defs/TrialLedgerRecord'}, 'family_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'spec_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'net_return_total': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'family_deflated_verdict': {'oneOf': [{'$ref': '#/$defs/FamilyNotComputed'}, {'$ref': '#/$defs/FamilyComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/FamilyComputed', 'not_computed': '#/$defs/FamilyNotComputed'}, 'propertyName': 'status'}}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'ConstNode': {'type': 'object', 'required': ['const'], 'properties': {'const': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'JsonValue': {'anyOf': [{'type': 'boolean'}, {'type': 'integer', 'maximum': 1000000000000000, 'minimum': -1000000000000000, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000, 'minimum': -1000000000000000}, {'type': 'string', 'maxLength': 262144, 'x-maxUtf8Bytes': 262144}, {'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 10000}, {'type': 'object', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, {'type': 'null'}], 'x-maxDepth': 16, 'x-maxNodes': 10000}, 'SignalNode': {'type': 'object', 'oneOf': [{'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt']}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}}}, {'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['and', 'or']}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'$ref': '#/$defs/SignalNode'}}}, {'required': ['op', 'left'], 'properties': {'op': {'const': 'not'}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'type': 'null'}}}], 'required': ['op', 'left'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt', 'and', 'or', 'not'], 'type': 'string'}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'OHLCVSeries': {'type': 'object', 'required': ['close'], 'properties': {'low': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'high': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'open': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'time': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'close': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, 'volume': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}}, 'x-relations': ['len(time|open|high|low|volume) == len(close) when present'], 'additionalProperties': False}, 'StrategySpec': {'type': 'object', 'required': ['dsl_version', 'asset_universe', 'bar_interval', 'target', 'signal'], 'properties': {'signal': {'$ref': '#/$defs/SignalNode', 'x-maxDepth': 16}, 'target': {'$ref': '#/$defs/StrategyTarget'}, 'position': {'anyOf': [{'$ref': '#/$defs/StrategyPosition'}, {'type': 'null'}], 'default': None}, 'dsl_version': {'type': 'string', 'const': '1'}, 'bar_interval': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'asset_universe': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, 'entry_lag_bars': {'type': 'integer', 'default': 1, 'maximum': 5000, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'IndicatorNode': {'type': 'object', 'oneOf': [{'required': ['indicator'], 'properties': {'window': {'type': 'null'}, 'indicator': {'const': 'price'}}}, {'required': ['indicator', 'window'], 'properties': {'source': {'type': 'null'}, 'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'const': 'atr'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 2, 'x-strictJsonInteger': True}, 'indicator': {'const': 'zscore'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'roc']}}}], 'required': ['indicator'], 'properties': {'source': {'anyOf': [{'enum': ['open', 'high', 'low', 'close', 'volume'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'window': {'anyOf': [{'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'atr', 'roc', 'zscore', 'price'], 'type': 'string'}}, 'additionalProperties': False}, 'StrategyTarget': {'type': 'object', 'required': ['kind', 'horizon_bars'], 'properties': {'kind': {'type': 'string', 'const': 'forward_return'}, 'horizon_bars': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'StrategyPosition': {'type': 'object', 'required': ['on_signal', 'else'], 'properties': {'else': {'type': 'string', 'const': 'flat'}, 'on_signal': {'type': 'string', 'const': 'long'}}, 'additionalProperties': False}}, 'oneOf': [{'required': ['specs'], 'properties': {'grid': {'type': 'null'}, 'specs': {'not': {'type': 'null'}}, 'base_spec': {'type': 'null'}}}, {'required': ['base_spec', 'grid'], 'properties': {'grid': {'not': {'type': 'null'}}, 'specs': {'type': 'null'}, 'base_spec': {'not': {'type': 'null'}}}}], 'properties': {'grid': {'anyOf': [{'type': 'object', 'maxProperties': 16, 'minProperties': 1, 'propertyNames': {'maxLength': 256, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 25, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Parameter grid {param: [values]} expanded against base_spec into the full variant set.'}, 'specs': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/StrategySpec'}, 'maxItems': 25, 'minItems': 1}, {'type': 'null'}], 'default': None, 'description': 'Explicit list of DSL strategy variants to submit as one honest sweep -- every variant a ledger trial the family budget prices.'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'base_spec': {'anyOf': [{'$ref': '#/$defs/StrategySpec'}, {'type': 'null'}], 'default': None, 'description': 'Base DSL spec to expand with grid instead of listing specs explicitly.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'sketch_opt_out': {'type': 'boolean', 'default': False, 'description': 'True to skip return sketches for every variant.'}, 'ohlcv_by_symbol': {'anyOf': [{'type': 'object', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/OHLCVSeries'}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Your candles per symbol for every variant.'}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}], 'default': 10.0, 'description': 'Round-trip cost in bps/side.'}}, 'x-relations': ['product(len(grid[*])) <= 25 when grid is present'], 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'EbComputed': {'type': 'object', 'required': ['status', 'family_t_stats_n', 'sigma_signal_sq', 'shrink_factor', 't_observed', 't_shrunk', 'sharpe_shrunk_per_obs', 'method', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'method': {'type': 'string', 'const': 'efron_morris_prior_zero'}, 'status': {'type': 'string', 'const': 'computed'}, 't_shrunk': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 't_observed': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'shrink_factor': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'sigma_signal_sq': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'family_t_stats_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'sharpe_shrunk_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'BatchSummary': {'type': 'object', 'required': ['survives', 'deflated_out', 'not_computed', 'invalid'], 'properties': {'invalid': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'survives': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'deflated_out': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'not_computed': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'EbInsufficient': {'type': 'object', 'required': ['status', 'family_t_stats_n', 'method', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'method': {'type': 'string', 'const': 'efron_morris_prior_zero'}, 'status': {'type': 'string', 'const': 'insufficient_family_history'}, 'family_t_stats_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'FamilyComputed': {'type': 'object', 'required': ['status', 'sharpe_per_obs', 'n_observations', 'skew', 'kurtosis', 'n_trials', 'variance_of_sharpe', 'expected_max_sharpe_null', 'psr_vs_zero', 'dsr', 'cumulative_n', 'global_family_n', 'variants_in_call', 'n_trials_effective', 'n_hat_ledger', 'effective_n_method', 'mean_correlation', 'overlap_warning', 'thresholds', 'killed_by', 'family_verdict', 'sketch_retained', 'eb_shrinkage', 'break_even_n', 'dsr_attribution', 'note'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'note': {'type': 'string', 'maxLength': 2000}, 'skew': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'status': {'type': 'string', 'const': 'computed'}, 'kurtosis': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'n_trials': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'killed_by': {'type': 'array', 'items': {'enum': ['evt_dsr', 'harvey_liu_bh'], 'type': 'string'}, 'maxItems': 2}, 'thresholds': {'$ref': '#/$defs/FamilyThresholds'}, 'psr_vs_zero': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'sketch_note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'break_even_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'cumulative_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'eb_shrinkage': {'oneOf': [{'$ref': '#/$defs/EbInsufficient'}, {'$ref': '#/$defs/EbComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/EbComputed', 'insufficient_family_history': '#/$defs/EbInsufficient'}, 'propertyName': 'status'}}, 'n_hat_ledger': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'family_verdict': {'enum': ['survives', 'deflated_out'], 'type': 'string'}, 'n_observations': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'sharpe_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'dsr_attribution': {'oneOf': [{'$ref': '#/$defs/DsrAttributionUnavailable'}, {'$ref': '#/$defs/DsrAttributionComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/DsrAttributionComputed', 'not_computed': '#/$defs/DsrAttributionUnavailable'}, 'propertyName': 'status'}}, 'global_family_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'overlap_warning': {'type': 'boolean'}, 'sketch_retained': {'type': 'boolean'}, 'mean_correlation': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}, {'type': 'null'}]}, 'variants_in_call': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'effective_n_method': {'type': 'string', 'maxLength': 2000}, 'n_trials_effective': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'variance_of_sharpe': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'expected_max_sharpe_null': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'EvtDsrThreshold': {'type': 'object', 'required': ['dsr', 'min', 'survives'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'min': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'survives': {'type': 'boolean'}}, 'additionalProperties': False}, 'FamilyThresholds': {'type': 'object', 'required': ['evt_dsr', 'harvey_liu_bh'], 'properties': {'evt_dsr': {'$ref': '#/$defs/EvtDsrThreshold'}, 'harvey_liu_bh': {'$ref': '#/$defs/HarveyLiuThreshold'}}, 'additionalProperties': False}, 'FamilyNotComputed': {'type': 'object', 'required': ['status', 'reason'], 'properties': {'reason': {'type': 'string', 'maxLength': 2000}, 'status': {'type': 'string', 'const': 'not_computed'}}, 'additionalProperties': False}, 'TrialLedgerRecord': {'type': 'object', 'required': ['recorded', 'spec_hash', 'family_id', 'cumulative_n', 'disclaimer'], 'properties': {'recorded': {'type': 'boolean'}, 'family_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'spec_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'cumulative_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'HarveyLiuThreshold': {'type': 'object', 'required': ['p_single', 'p_adjusted', 'alpha', 'survives'], 'properties': {'alpha': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'p_single': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'survives': {'type': 'boolean'}, 'p_adjusted': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'BatchInvalidVariant': {'type': 'object', 'required': ['index', 'error'], 'properties': {'error': {'type': 'string', 'maxLength': 2000}, 'index': {'type': 'integer', 'minimum': 0, 'exclusiveMaximum': 10000, 'x-strictJsonInteger': True}, 'ledger': {'anyOf': [{'$ref': '#/$defs/TrialLedgerRecord'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'BatchSuccessVariant': {'type': 'object', 'required': ['index', 'bars', 'net_return_total', 'ledger', 'family_id', 'spec_hash', 'family_deflated_verdict'], 'properties': {'bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'index': {'type': 'integer', 'minimum': 0, 'exclusiveMaximum': 10000, 'x-strictJsonInteger': True}, 'ledger': {'$ref': '#/$defs/TrialLedgerRecord'}, 'family_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'spec_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'net_return_total': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'family_deflated_verdict': {'oneOf': [{'$ref': '#/$defs/FamilyNotComputed'}, {'$ref': '#/$defs/FamilyComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/FamilyComputed', 'not_computed': '#/$defs/FamilyNotComputed'}, 'propertyName': 'status'}}}, 'additionalProperties': False}, 'BatchDeclinedVariant': {'type': 'object', 'required': ['index', 'error', 'declined', 'charged'], 'properties': {'error': {'type': 'string', 'const': 'payment_required'}, 'index': {'type': 'integer', 'minimum': 0, 'exclusiveMaximum': 10000, 'x-strictJsonInteger': True}, 'charged': {'type': 'boolean', 'const': False}, 'declined': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'BatchRefundedVariant': {'type': 'object', 'required': ['index', 'error', 'refunded'], 'properties': {'error': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'index': {'type': 'integer', 'minimum': 0, 'exclusiveMaximum': 10000, 'x-strictJsonInteger': True}, 'detail': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'refunded': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'DsrAttributionComputed': {'type': 'object', 'required': ['status', 'base_psr_normal_no_selection', 'dsr', 'dsr_normal_tails', 'total_haircut', 'selection_haircut', 'non_normality_haircut', 'interaction', 'tipping_point_n_trials', 'verdict_would_flip_under_normal_tails', 'interpretation'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'status': {'type': 'string', 'const': 'computed'}, 'interaction': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'total_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'interpretation': {'type': 'string', 'maxLength': 2000}, 'dsr_normal_tails': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'selection_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'non_normality_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'tipping_point_n_trials': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'base_psr_normal_no_selection': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'verdict_would_flip_under_normal_tails': {'type': 'boolean'}}, 'additionalProperties': False}, 'DsrAttributionUnavailable': {'type': 'object', 'required': ['status', 'reason', 'dsr'], 'properties': {'dsr': {'type': 'null'}, 'reason': {'type': 'string', 'maxLength': 2000}, 'status': {'type': 'string', 'const': 'not_computed'}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'schema', 'n_variants', 'charged_variants', 'declined_variants', 'variants', 'summary', 'note', 'disclaimer'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'schema': {'type': 'string', 'const': 'batch.v1'}, 'summary': {'$ref': '#/$defs/BatchSummary'}, 'variants': {'type': 'array', 'items': {'anyOf': [{'$ref': '#/$defs/BatchSuccessVariant'}, {'$ref': '#/$defs/BatchRefundedVariant'}, {'$ref': '#/$defs/BatchDeclinedVariant'}, {'$ref': '#/$defs/BatchInvalidVariant'}]}, 'maxItems': 10000}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'n_variants': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'charged_variants': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'declined_variants': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'x-relations': ['n_variants == len(variants)', 'variants[*].index values are unique and equal range(n_variants)', 'charged_variants == count(success variants)', 'declined_variants == count(declined variants)', 'summary.invalid == count(invalid or refunded variants)', 'summary category counts match variant outcomes'], 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'EmptyObject': {'type': 'object', 'properties': {}, 'description': 'An explicitly empty, closed object.', 'additionalProperties': False}, 'CalibrationScope': {'type': 'object', 'required': ['measures', 'not_measured', 'separate_from', 'maturity'], 'properties': {'maturity': {'type': 'string', 'maxLength': 2000}, 'measures': {'type': 'string', 'maxLength': 2000}, 'not_measured': {'type': 'string', 'maxLength': 2000}, 'separate_from': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'PublicCalibration': {'type': 'object', 'required': ['registrations', 'forward_outcomes', 'honesty', 'scope', 'disclaimer', 'counts_disclosure'], 'properties': {'scope': {'$ref': '#/$defs/CalibrationScope'}, 'honesty': {'type': 'string', 'const': 'insufficient_history'}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'registrations': {'$ref': '#/$defs/CalibrationRegistrations'}, 'forward_outcomes': {'$ref': '#/$defs/CalibrationForwardOutcomes'}, 'counts_disclosure': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'CalibrationRegistrations': {'type': 'object', 'required': ['disclosure', 'evaluated'], 'properties': {'evaluated': {'enum': ['<25', '25-99', '100-499', '500+'], 'type': 'string'}, 'disclosure': {'type': 'string', 'const': 'bucketed'}}, 'additionalProperties': False}, 'CalibrationForwardOutcomes': {'type': 'object', 'required': ['status', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'status': {'type': 'string', 'const': 'accumulating'}}, 'additionalProperties': False}, 'CalibrationSnapshotPayload': {'type': 'object', 'required': ['artifact_type', 'schema_version', 'canonicalization', 'key_purpose', 'key_id', 'spki_sha256', 'generated_at', 'expires_at', 'engine_version', 'engine_digest', 'runtime_schema_digest', 'calibration_data_digest', 'public_calibration', 'disclaimer'], 'properties': {'key_id': {'type': 'string', 'pattern': '^key_[a-f0-9]{16}$', 'maxLength': 20, 'minLength': 20}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'expires_at': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'key_purpose': {'type': 'string', 'const': 'calibration_snapshot'}, 'spki_sha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$', 'maxLength': 64, 'minLength': 64}, 'generated_at': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'artifact_type': {'type': 'string', 'const': 'alphaassay.calibration_snapshot'}, 'engine_digest': {'type': 'string', 'pattern': '^[a-f0-9]{64}$', 'maxLength': 64, 'minLength': 64}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'schema_version': {'type': 'string', 'const': 'cal1'}, 'canonicalization': {'type': 'string', 'const': 'json-sort-keys-ascii-nospace-nfc-float12'}, 'public_calibration': {'$ref': '#/$defs/PublicCalibration'}, 'runtime_schema_digest': {'type': 'string', 'pattern': '^[a-f0-9]{64}$', 'maxLength': 64, 'minLength': 64}, 'calibration_data_digest': {'type': 'string', 'pattern': '^[a-f0-9]{64}$', 'maxLength': 64, 'minLength': 64}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['signed'], 'properties': {'signed': {'const': True}}}, 'then': {'not': {'anyOf': [{'required': ['trust_reason_code']}]}, 'required': ['signature_b64', 'public_key_id', 'public_key_fingerprint', 'signature_alg', 'canonicalization'], 'properties': {'stale': {'const': False}, 'reason': {'const': 'valid'}, 'reason_code': {'const': 'valid'}, 'public_key_id': {'not': {'type': 'null'}}, 'signature_alg': {'const': 'Ed25519'}, 'signature_b64': {'not': {'type': 'null'}}, 'canonicalization': {'const': 'json-sort-keys-ascii-nospace-nfc-float12'}, 'public_key_fingerprint': {'not': {'type': 'null'}}}}}, {'if': {'required': ['signed'], 'properties': {'signed': {'const': False}}}, 'then': {'not': {'anyOf': [{'required': ['signature_b64']}, {'required': ['public_key_id']}, {'required': ['public_key_fingerprint']}, {'required': ['signature_alg']}, {'required': ['canonicalization']}]}, 'properties': {'stale': {'const': True}}}}, {'if': {'required': ['signed'], 'properties': {'signed': {'const': True}}}, 'then': {'properties': {'calibration': {'$ref': '#/$defs/CalibrationSnapshotPayload'}}}}, {'if': {'required': ['signed'], 'properties': {'signed': {'const': False}}}, 'then': {'properties': {'calibration': {'$ref': '#/$defs/EmptyObject'}}}}], 'required': ['_meta', 'calibration', 'signed', 'stale', 'reason', 'reason_code'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'stale': {'type': 'boolean'}, 'reason': {'type': 'string', 'maxLength': 2000}, 'signed': {'type': 'boolean'}, 'calibration': {'anyOf': [{'$ref': '#/$defs/EmptyObject'}, {'$ref': '#/$defs/CalibrationSnapshotPayload'}]}, 'reason_code': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'public_key_id': {'anyOf': [{'type': 'string', 'pattern': '^key_[a-f0-9]{16}$', 'maxLength': 20, 'minLength': 20}, {'type': 'null'}], 'default': None}, 'signature_alg': {'anyOf': [{'type': 'string', 'const': 'Ed25519'}, {'type': 'null'}], 'default': None}, 'signature_b64': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z0-9+/]{85}[AQgw]==$', 'maxLength': 88, 'minLength': 88}, {'type': 'null'}], 'default': None}, 'canonicalization': {'anyOf': [{'type': 'string', 'const': 'json-sort-keys-ascii-nospace-nfc-float12'}, {'type': 'null'}], 'default': None}, 'trust_reason_code': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'public_key_fingerprint': {'anyOf': [{'type': 'string', 'pattern': '^[a-f0-9]{64}$', 'maxLength': 64, 'minLength': 64}, {'type': 'null'}], 'default': None}}, 'x-relations': ['calibration.key_id == public_key_id when signed is true', 'calibration.spki_sha256 == public_key_fingerprint when signed is true', 'generated_at and expires_at are real UTC RFC3339 seconds and 0 < expires_at - generated_at <= 168 hours when signed is true'], 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'JsonValue': {'anyOf': [{'type': 'boolean'}, {'type': 'integer', 'maximum': 1000000000000000, 'minimum': -1000000000000000, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000, 'minimum': -1000000000000000}, {'type': 'string', 'maxLength': 262144, 'x-maxUtf8Bytes': 262144}, {'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 10000}, {'type': 'object', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, {'type': 'null'}], 'x-maxDepth': 16, 'x-maxNodes': 10000}}, 'required': ['certificate', 'signature_b64', 'public_key_pem'], 'properties': {'certificate': {'type': 'object', 'description': 'The separately issued signed certificate/document object to verify against current platform trust.', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, 'signature_b64': {'type': 'string', 'maxLength': 512, 'description': 'Its base64 Ed25519 signature.'}, 'public_key_pem': {'type': 'string', 'maxLength': 16384, 'description': 'Caller-supplied signer-key evidence in PEM form; it is not a platform trust root.'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'JsonValue': {'anyOf': [{'type': 'boolean'}, {'type': 'integer', 'maximum': 1000000000000000, 'minimum': -1000000000000000, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000, 'minimum': -1000000000000000}, {'type': 'string', 'maxLength': 262144, 'x-maxUtf8Bytes': 262144}, {'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 10000}, {'type': 'object', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, {'type': 'null'}], 'x-maxDepth': 16, 'x-maxNodes': 10000}, 'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'CertificateRevocation': {'type': 'object', 'required': ['sequence', 'scope', 'match_value', 'reason', 'revoked_at', 'predecessor_entry_hash', 'legacy_line_hash', 'entry_hash'], 'properties': {'scope': {'enum': ['certificate_id', 'engine_version', 'key_id'], 'type': 'string'}, 'reason': {'type': 'string', 'maxLength': 2000}, 'sequence': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 1, 'x-strictJsonInteger': True}, 'entry_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'revoked_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'match_value': {'type': 'string', 'maxLength': 2000}, 'legacy_line_hash': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'predecessor_entry_hash': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['status'], 'properties': {'status': {'const': 'valid'}}}, 'then': {'required': ['public_key_id', 'public_key_fingerprint', 'trust_head_hash', 'trust_head_sequence'], 'properties': {'valid': {'const': True}, 'reason': {'const': 'valid'}, 'revoked': {'const': False}, 'chain_valid': {'const': True}, 'reason_code': {'const': 'valid'}, 'revocations': {'type': 'null'}, 'public_key_id': {'not': {'type': 'null'}}, 'signature_valid': {'const': True}, 'trust_head_hash': {'not': {'type': 'null'}}, 'trust_head_sequence': {'not': {'type': 'null'}}, 'public_key_fingerprint': {'not': {'type': 'null'}}, 'revocation_chain_valid': {'const': True}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'valid_but_revoked'}}}, 'then': {'required': ['public_key_id', 'public_key_fingerprint', 'trust_head_hash', 'trust_head_sequence', 'revocations'], 'properties': {'valid': {'const': False}, 'reason': {'const': 'signature is valid but certificate is revoked'}, 'revoked': {'const': True}, 'chain_valid': {'const': True}, 'reason_code': {'const': 'certificate_revoked'}, 'revocations': {'not': {'type': 'null'}}, 'public_key_id': {'not': {'type': 'null'}}, 'signature_valid': {'const': True}, 'trust_head_hash': {'not': {'type': 'null'}}, 'trust_head_sequence': {'not': {'type': 'null'}}, 'public_key_fingerprint': {'not': {'type': 'null'}}, 'revocation_chain_valid': {'const': True}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'invalid'}}}, 'then': {'properties': {'valid': {'const': False}}}}], 'required': ['_meta', 'valid', 'signature_valid', 'chain_valid', 'revocation_chain_valid', 'revoked', 'status', 'reason', 'reason_code'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'valid': {'type': 'boolean'}, 'reason': {'type': 'string', 'maxLength': 2000}, 'status': {'enum': ['invalid', 'valid', 'valid_but_revoked'], 'type': 'string'}, 'revoked': {'type': 'boolean'}, 'chain_valid': {'type': 'boolean'}, 'reason_code': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'revocations': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/CertificateRevocation'}, 'maxItems': 10000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'public_key_id': {'anyOf': [{'type': 'string', 'pattern': '^key_[a-f0-9]{16}$', 'maxLength': 20, 'minLength': 20}, {'type': 'null'}], 'default': None}, 'certificate_id': {'$ref': '#/$defs/JsonValue', 'default': None}, 'signature_valid': {'type': 'boolean'}, 'trust_head_hash': {'anyOf': [{'type': 'string', 'pattern': '^[a-f0-9]{64}$', 'maxLength': 64, 'minLength': 64}, {'type': 'null'}], 'default': None}, 'trust_head_sequence': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'public_key_fingerprint': {'anyOf': [{'type': 'string', 'pattern': '^[a-f0-9]{64}$', 'maxLength': 64, 'minLength': 64}, {'type': 'null'}], 'default': None}, 'revocation_chain_valid': {'type': 'boolean'}}, 'x-relations': ['revocations[*].sequence values are strictly increasing and unique', 'max(revocations[*].sequence) <= trust_head_sequence when trust_head_sequence is present'], 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['intervals_lower', 'intervals_upper', 'outcomes'], 'properties': {'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'outcomes': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 100000, 'minItems': 1, 'description': 'Realised outcomes each interval was meant to cover.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'intervals_lower': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 100000, 'minItems': 1, 'description': 'Lower bounds of your prediction intervals, per point.'}, 'intervals_upper': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 100000, 'minItems': 1, 'description': 'Upper bounds of your prediction intervals, per point.'}, 'calibration_size': {'anyOf': [{'type': 'integer', 'maximum': 100000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None, 'description': 'Optional size of the calibration set used to build the intervals; enables the exact beta-binomial (small-sample-fair) grading.'}, 'claimed_coverage': {'ge': 0.5, 'le': 0.999, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}], 'default': 0.9, 'description': 'The coverage level you claim, e.g. 0.9 for 90% prediction intervals.'}}, 'x-relations': ['len(intervals_lower) == len(intervals_upper) == len(outcomes)', 'intervals_lower[i] <= intervals_upper[i]', 'ceil((calibration_size + 1) * claimed_coverage) <= calibration_size when present'], 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'ZoneThresholds': {'type': 'object', 'required': ['yellow_at_cumulative_prob', 'red_at_cumulative_prob'], 'properties': {'red_at_cumulative_prob': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'yellow_at_cumulative_prob': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}}, 'additionalProperties': False}, 'ConformalHalves': {'type': 'object', 'required': ['coverage_first_half', 'coverage_second_half'], 'properties': {'coverage_first_half': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'coverage_second_half': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'TrafficLightZone': {'type': 'object', 'required': ['zone', 'cumulative_prob', 'zone_thresholds'], 'properties': {'zone': {'enum': ['green', 'yellow', 'red'], 'type': 'string'}, 'cumulative_prob': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'zone_thresholds': {'$ref': '#/$defs/ZoneThresholds'}}, 'additionalProperties': False}, 'ConformalEfficiency': {'type': 'object', 'required': ['mean_width', 'median_width', 'degenerate_share', 'outcome_range', 'width_to_range_ratio', 'uninformative_at_ratio'], 'properties': {'mean_width': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'median_width': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'outcome_range': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'degenerate_share': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'width_to_range_ratio': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'uninformative_at_ratio': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['status'], 'properties': {'status': {'const': 'computed'}}}, 'then': {'required': ['n', 'hits', 'misses', 'empirical_coverage', 'distribution', 'zone', 'efficiency', 'halves', 'interpretation'], 'properties': {'n': {'not': {'type': 'null'}}, 'hits': {'not': {'type': 'null'}}, 'zone': {'not': {'type': 'null'}}, 'halves': {'not': {'type': 'null'}}, 'misses': {'not': {'type': 'null'}}, 'reason': {'type': 'null'}, 'efficiency': {'not': {'type': 'null'}}, 'distribution': {'not': {'type': 'null'}}, 'interpretation': {'not': {'type': 'null'}}, 'empirical_coverage': {'not': {'type': 'null'}}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'blocked'}}}, 'then': {'required': ['reason'], 'properties': {'hits': {'type': 'null'}, 'zone': {'type': 'null'}, 'halves': {'type': 'null'}, 'misses': {'type': 'null'}, 'reason': {'not': {'type': 'null'}}, 'efficiency': {'type': 'null'}, 'distribution': {'type': 'null'}, 'interpretation': {'type': 'null'}, 'empirical_coverage': {'type': 'null'}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'computed'}}}, 'then': {'properties': {'n': {'minimum': 1}}}}], 'required': ['_meta', 'schema', 'method', 'status', 'verdict', 'n', 'claimed_coverage', 'died_at', 'died_at_plain', 'failure_codes', 'advisories'], 'properties': {'n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'hits': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'zone': {'anyOf': [{'$ref': '#/$defs/TrafficLightZone'}, {'type': 'null'}], 'default': None}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'halves': {'anyOf': [{'$ref': '#/$defs/ConformalHalves'}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string', 'const': 'split_conformal_coverage_audit'}, 'misses': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'schema': {'type': 'string', 'const': 'conformal.v1'}, 'status': {'enum': ['blocked', 'computed'], 'type': 'string'}, 'died_at': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'verdict': {'enum': ['pass', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'advisories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'efficiency': {'anyOf': [{'$ref': '#/$defs/ConformalEfficiency'}, {'type': 'null'}], 'default': None}, 'distribution': {'anyOf': [{'enum': ['binomial', 'beta_binomial'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'died_at_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'interpretation': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'calibration_size': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'claimed_coverage': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'k_order_statistic': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'empirical_coverage': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}}, 'x-relations': ['hits + misses == n when status == computed', 'empirical_coverage ~= hits / n when status == computed', 'k_order_statistic <= calibration_size when both are present'], 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'ConstNode': {'type': 'object', 'required': ['const'], 'properties': {'const': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'SignalNode': {'type': 'object', 'oneOf': [{'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt']}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}}}, {'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['and', 'or']}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'$ref': '#/$defs/SignalNode'}}}, {'required': ['op', 'left'], 'properties': {'op': {'const': 'not'}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'type': 'null'}}}], 'required': ['op', 'left'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt', 'and', 'or', 'not'], 'type': 'string'}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'OHLCVSeries': {'type': 'object', 'required': ['close'], 'properties': {'low': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'high': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'open': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'time': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'close': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, 'volume': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}}, 'x-relations': ['len(time|open|high|low|volume) == len(close) when present'], 'additionalProperties': False}, 'StrategySpec': {'type': 'object', 'required': ['dsl_version', 'asset_universe', 'bar_interval', 'target', 'signal'], 'properties': {'signal': {'$ref': '#/$defs/SignalNode', 'x-maxDepth': 16}, 'target': {'$ref': '#/$defs/StrategyTarget'}, 'position': {'anyOf': [{'$ref': '#/$defs/StrategyPosition'}, {'type': 'null'}], 'default': None}, 'dsl_version': {'type': 'string', 'const': '1'}, 'bar_interval': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'asset_universe': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, 'entry_lag_bars': {'type': 'integer', 'default': 1, 'maximum': 5000, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'IndicatorNode': {'type': 'object', 'oneOf': [{'required': ['indicator'], 'properties': {'window': {'type': 'null'}, 'indicator': {'const': 'price'}}}, {'required': ['indicator', 'window'], 'properties': {'source': {'type': 'null'}, 'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'const': 'atr'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 2, 'x-strictJsonInteger': True}, 'indicator': {'const': 'zscore'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'roc']}}}], 'required': ['indicator'], 'properties': {'source': {'anyOf': [{'enum': ['open', 'high', 'low', 'close', 'volume'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'window': {'anyOf': [{'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'atr', 'roc', 'zscore', 'price'], 'type': 'string'}}, 'additionalProperties': False}, 'StrategyTarget': {'type': 'object', 'required': ['kind', 'horizon_bars'], 'properties': {'kind': {'type': 'string', 'const': 'forward_return'}, 'horizon_bars': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'StrategyPosition': {'type': 'object', 'required': ['on_signal', 'else'], 'properties': {'else': {'type': 'string', 'const': 'flat'}, 'on_signal': {'type': 'string', 'const': 'long'}}, 'additionalProperties': False}}, 'properties': {'spec': {'anyOf': [{'$ref': '#/$defs/StrategySpec'}, {'type': 'null'}], 'default': None, 'description': 'Optional DSL spec if you want CPCV to recompute from rules.'}, 'purge': {'type': 'integer', 'default': 1, 'maximum': 100000, 'minimum': 0, 'description': 'Bars purged around each test block to stop leakage.', 'x-strictJsonInteger': True}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'embargo': {'type': 'integer', 'default': 0, 'maximum': 100000, 'minimum': 0, 'description': 'Embargo bars after each test block.', 'x-strictJsonInteger': True}, 'returns': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 100000, 'minItems': 1}, {'type': 'null'}], 'default': None, 'description': 'Per-period returns of the strategy to cross-validate.'}, 'n_groups': {'type': 'integer', 'default': 8, 'maximum': 16, 'minimum': 2, 'multipleOf': 2, 'description': 'Number of combinatorial purged CV groups (even).', 'x-strictJsonInteger': True}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'ohlcv_by_symbol': {'anyOf': [{'type': 'object', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/OHLCVSeries'}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Candles per symbol when a spec is supplied.'}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}], 'default': 10.0, 'description': 'Round-trip cost in bps/side.'}, 'periods_per_year': {'anyOf': [{'gt': 0, 'le': 1000000, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}]}, {'type': 'null'}], 'default': None, 'description': 'Annualisation factor for the reported Sharpes.'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'CpcvDistribution': {'type': 'object', 'required': ['worst', 'p05', 'p25', 'p50', 'p75', 'p95', 'best'], 'properties': {'p05': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'p25': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'p50': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'p75': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'p95': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'best': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'worst': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'CpcvHistogramBin': {'type': 'object', 'required': ['from', 'to', 'count'], 'properties': {'to': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'from': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'count': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['status'], 'properties': {'status': {'const': 'computed'}}}, 'then': {'required': ['periods_per_year', 'n_bars', 'n_combinations', 'n_blocked_combinations', 'n_backtest_paths', 'purged_bars_total', 'distribution', 'histogram', 'interpretation'], 'properties': {'n_bars': {'not': {'type': 'null'}}, 'reason': {'type': 'null'}, 'histogram': {'not': {'type': 'null'}}, 'distribution': {'not': {'type': 'null'}}, 'interpretation': {'not': {'type': 'null'}}, 'n_combinations': {'not': {'type': 'null'}}, 'n_backtest_paths': {'not': {'type': 'null'}}, 'periods_per_year': {'not': {'type': 'null'}}, 'purged_bars_total': {'not': {'type': 'null'}}, 'n_blocked_combinations': {'not': {'type': 'null'}}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'insufficient'}}}, 'then': {'required': ['reason'], 'properties': {'reason': {'not': {'type': 'null'}}, 'histogram': {'type': 'null'}, 'distribution': {'type': 'null'}, 'interpretation': {'type': 'null'}, 'share_positive': {'type': 'null'}, 'n_backtest_paths': {'type': 'null'}, 'purged_bars_total': {'type': 'null'}, 'n_blocked_combinations': {'type': 'null'}}}}], 'required': ['_meta', 'schema', 'status', 'verdict', 'input_mode', 'n_groups', 'purge', 'embargo', 'min_share_positive', 'share_positive', 'distribution', 'histogram', 'disclaimer', 'died_at', 'died_at_plain', 'failure_codes'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'purge': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'schema': {'type': 'string', 'const': 'cpcv.v1'}, 'status': {'enum': ['insufficient', 'computed'], 'type': 'string'}, 'died_at': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'embargo': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'verdict': {'enum': ['pass', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'n_groups': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'histogram': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/CpcvHistogramBin'}, 'maxItems': 10000}, {'type': 'null'}]}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'input_mode': {'anyOf': [{'enum': ['returns_series', 'spec_and_candles'], 'type': 'string'}, {'type': 'null'}]}, 'distribution': {'anyOf': [{'$ref': '#/$defs/CpcvDistribution'}, {'type': 'null'}]}, 'died_at_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'interpretation': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'n_combinations': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'n_backtest_paths': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'periods_per_year': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'purged_bars_total': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'min_share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'n_blocked_combinations': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}}, 'x-relations': ['n_blocked_combinations <= n_combinations when status == computed', 'sum(histogram[*].count) == n_combinations when status == computed'], 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'CpcvStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'cpcv'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'skipped'], 'type': 'string'}, 'evidence': {'anyOf': [{'$ref': '#/$defs/CpcvComputedEvidence'}, {'$ref': '#/$defs/InsufficientStageEvidence'}]}}, 'additionalProperties': False}, 'KillReason': {'type': 'object', 'required': ['reason', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'reason': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'EmptyObject': {'type': 'object', 'properties': {}, 'description': 'An explicitly empty, closed object.', 'additionalProperties': False}, 'Explanation': {'type': 'object', 'required': ['schema_version', 'research_only', 'tool', 'tool_version', 'verdict', 'agent_action', 'summary', 'provenance_attestation', 'leakage_taxonomy', 'blocking_findings', 'explanations', 'next_actions'], 'properties': {'tool': {'type': 'string', 'const': 'explain_backtest_failure'}, 'summary': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'conditional', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'agent_action': {'enum': ['continue_due_diligence', 'require_additional_validation', 'gather_more_evidence', 'reject_current_evidence', 'owner_data_decision_required'], 'type': 'string'}, 'explanations': {'type': 'array', 'items': {'$ref': '#/$defs/ExplanationFinding'}, 'maxItems': 10000}, 'next_actions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'tool_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'research_only': {'type': 'boolean', 'const': True}, 'schema_version': {'type': 'string', 'const': '0'}, 'leakage_taxonomy': {'$ref': '#/$defs/LeakageTaxonomy'}, 'blocking_findings': {'type': 'array', 'items': {'enum': ['data_rights', 'pit_lookahead', 'survivorship', 'selection_multiple_testing', 'effective_n', 'oos_walk_forward', 'cpcv', 'costs_slippage_capacity', 'pbo_dsr_overfit', 'null_placebo', 'regime', 'execution', 'reproducibility', 'benchmark_overlap'], 'type': 'string'}, 'maxItems': 10000}, 'provenance_attestation': {'$ref': '#/$defs/ExplanationProvenance'}}, 'additionalProperties': False}, 'HacEvidence': {'type': 'object', 'required': ['lo', 'hi', 'se_naive', 'se_hac', 't_hac', 'variance_ratio', 'lag', 'contains_zero', 'method'], 'properties': {'hi': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'lo': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'lag': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 't_hac': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'method': {'type': 'string', 'maxLength': 2000}, 'se_hac': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'se_naive': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'contains_zero': {'type': 'boolean'}, 'variance_ratio': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'NetEdgeStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'net_edge'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/NetEdgeEvidence'}}, 'additionalProperties': False}, 'PlaceboStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'placebo'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'warn', 'skipped'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/PlaceboEvidence'}}, 'additionalProperties': False}, 'CapacityStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'capacity'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'skipped'], 'type': 'string'}, 'evidence': {'anyOf': [{'$ref': '#/$defs/CapacityEvidence'}, {'$ref': '#/$defs/EmptyObject'}]}}, 'additionalProperties': False}, 'GauntletBudget': {'type': 'object', 'required': ['cumulative_n', 'n_trials_effective', 'effective_n_method', 'break_even_n', 'family_threshold_sharpe_per_obs', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'sketch_note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'break_even_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'cumulative_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'sketch_retained': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'effective_n_method': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'n_trials_effective': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'family_threshold_sharpe_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'VerdictFinding': {'type': 'object', 'required': ['failure_class', 'severity', 'detail'], 'properties': {'detail': {'type': 'string', 'maxLength': 2000}, 'severity': {'enum': ['hard_fail', 'cap_verdict', 'major_penalty', 'minor_penalty', 'trust_gate'], 'type': 'string'}, 'failure_class': {'enum': ['data_rights', 'pit_lookahead', 'survivorship', 'selection_multiple_testing', 'effective_n', 'oos_walk_forward', 'cpcv', 'costs_slippage_capacity', 'pbo_dsr_overfit', 'null_placebo', 'regime', 'execution', 'reproducibility', 'benchmark_overlap'], 'type': 'string'}}, 'additionalProperties': False}, 'FundingEvidence': {'type': 'object', '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'], 'properties': {'flags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'rate_convention': {'type': 'string', 'maxLength': 2000}, 'funding_share_of_net': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'funding_pnl_total_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'detected_interval_hours': {'$ref': '#/$defs/NullableNumberMap'}, 'n_funding_events_charged': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'price_net_return_total_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'net_return_after_funding_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'LeakageTaxonomy': {'type': 'object', 'required': ['classes', 'label', 'detail'], 'properties': {'label': {'enum': ['clean', 'class_I', 'class_II', 'class_III', 'multiple_leakage_classes'], 'type': 'string'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'classes': {'type': 'array', 'items': {'enum': ['I', 'II', 'III'], 'type': 'string'}, 'maxItems': 3}}, 'additionalProperties': False}, 'NetEdgeEvidence': {'type': 'object', 'required': ['net_sharpe_annualized', 'net_return_total_pct', 'trades', 'bars'], 'properties': {'bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'trades': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'net_return_total_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'net_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'PlaceboEvidence': {'type': 'object', 'required': ['percentile', 'n_placebos_effective', 'basis', 'sign_shuffle_percentile', 'chronology_percentile', 'real_trade_sharpe_annualized'], 'properties': {'basis': {'type': 'string', 'const': 'per_trade_gross'}, 'percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'n_placebos_effective': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'chronology_percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'sign_shuffle_percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'real_trade_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'VerdictEnvelope': {'type': 'object', 'required': ['schema_version', 'verdict', 'agent_action', 'findings', 'reproducible', 'leakage_taxonomy', 'provenance'], 'properties': {'verdict': {'enum': ['pass', 'conditional', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'findings': {'type': 'array', 'items': {'$ref': '#/$defs/VerdictFinding'}, 'maxItems': 10000}, 'provenance': {'$ref': '#/$defs/VerdictProvenance'}, 'agent_action': {'enum': ['continue_due_diligence', 'require_additional_validation', 'gather_more_evidence', 'reject_current_evidence', 'owner_data_decision_required'], 'type': 'string'}, 'reproducible': {'type': 'boolean'}, 'schema_version': {'type': 'string', 'const': '0'}, 'leakage_taxonomy': {'$ref': '#/$defs/LeakageTaxonomy'}, 'benchmark_overlap': {'anyOf': [{'$ref': '#/$defs/BenchmarkUnavailable'}, {'$ref': '#/$defs/BenchmarkComputed'}, {'type': 'null'}], 'default': None}, 'leakage_attribution': {'anyOf': [{'$ref': '#/$defs/LeakageAttribution'}, {'type': 'null'}], 'default': None}, 'reproducibility_readiness': {'anyOf': [{'$ref': '#/$defs/ReproducibilityReadiness'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'BinomialEvidence': {'type': 'object', 'required': ['wins', 'n', 'pvalue', 'significant'], 'properties': {'n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'wins': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'pvalue': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'significant': {'type': 'boolean'}}, 'additionalProperties': False}, 'CapacityEvidence': {'type': 'object', 'required': ['capacity_ceiling_usd', 'break_even_aum_usd', 'break_even_binding_symbol', 'model_range_exceeded', 'cost_model_uncertainty', 'mean_gross_return_pct_per_trade'], 'properties': {'break_even_aum_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'capacity_ceiling_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'model_range_exceeded': {'type': 'boolean'}, 'cost_model_uncertainty': {'$ref': '#/$defs/CostModelUncertainty'}, 'break_even_binding_symbol': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}]}, 'mean_gross_return_pct_per_trade': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'FundingEdgeStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'funding_edge'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'warn', 'skipped'], 'type': 'string'}, 'evidence': {'anyOf': [{'$ref': '#/$defs/FundingEvidence'}, {'$ref': '#/$defs/EmptyObject'}]}}, 'additionalProperties': False}, 'WalkForwardStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'walk_forward'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'info', 'skipped'], 'type': 'string'}, 'evidence': {'anyOf': [{'$ref': '#/$defs/WalkForwardEvidence'}, {'$ref': '#/$defs/InsufficientStageEvidence'}]}}, 'additionalProperties': False}, 'BenchmarkComputed': {'type': 'object', 'required': ['status', 'n_observations', 'beta', 'alpha_per_obs', 'alpha_tstat', 'alpha_pvalue', 'alpha_significant', 'correlation', 'tracking_error_per_obs', 'failure_codes'], 'properties': {'beta': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'status': {'type': 'string', 'const': 'computed'}, 'alpha_tstat': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'correlation': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}]}, 'alpha_pvalue': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'alpha_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'n_observations': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'alpha_significant': {'type': 'boolean'}, 'tracking_error_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}}, 'additionalProperties': False}, 'NormalityEvidence': {'type': 'object', 'required': ['skew', 'excess_kurtosis', 'normal_plausible'], 'properties': {'skew': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'excess_kurtosis': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'normal_plausible': {'type': 'boolean'}}, 'additionalProperties': False}, 'NullableNumberMap': {'type': 'object', 'description': 'Bounded runtime-keyed map of finite or unavailable numbers.', 'maxProperties': 256, 'propertyNames': {'maxLength': 128, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'PowerHonestyStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'power_honesty'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'info'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/PowerHonestyEvidence'}}, 'additionalProperties': False}, 'SignificanceStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'significance'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'info', 'skipped'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/SignificanceEvidence'}}, 'additionalProperties': False}, 'VerdictProvenance': {'type': 'object', 'required': ['tool', 'tool_version', 'schema_ref', 'schema_version', 'inputs_hash', 'generated_at', 'evidence_refs', 'check_refs'], 'properties': {'tool': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'check_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'schema_ref': {'type': 'string', 'maxLength': 2000}, 'inputs_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'generated_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'request_hash': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'tool_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'evidence_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'schema_version': {'type': 'string', 'const': '0'}}, 'additionalProperties': False}, 'ConcentrationStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'concentration'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'warn', 'info'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/ConcentrationEvidence'}}, 'additionalProperties': False}, 'ConfidenceInterval': {'type': 'object', 'required': ['lo', 'hi', 'contains_zero', 'n_resamples'], 'properties': {'hi': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'lo': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'n_resamples': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'contains_zero': {'type': 'boolean'}}, 'additionalProperties': False}, 'ExplanationFinding': {'type': 'object', 'required': ['failure_class', 'severity', 'detail', 'what_it_means', 'evidence_to_lift'], 'properties': {'detail': {'type': 'string', 'maxLength': 2000}, 'severity': {'enum': ['hard_fail', 'cap_verdict', 'major_penalty', 'minor_penalty', 'trust_gate'], 'type': 'string'}, 'failure_class': {'enum': ['data_rights', 'pit_lookahead', 'survivorship', 'selection_multiple_testing', 'effective_n', 'oos_walk_forward', 'cpcv', 'costs_slippage_capacity', 'pbo_dsr_overfit', 'null_placebo', 'regime', 'execution', 'reproducibility', 'benchmark_overlap'], 'type': 'string'}, 'what_it_means': {'type': 'string', 'maxLength': 2000}, 'evidence_to_lift': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'LeakageAttribution': {'type': 'object', 'required': ['label', 'attributions', 'detail'], 'properties': {'label': {'enum': ['clean', 'attributed'], 'type': 'string'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'attributions': {'type': 'array', 'items': {'$ref': '#/$defs/LeakageAttributionEntry'}, 'maxItems': 10000}}, 'additionalProperties': False}, 'GraveyardPriorStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'graveyard_prior'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'type': 'string', 'const': 'info'}, 'evidence': {'$ref': '#/$defs/GraveyardPriorEvidence'}}, 'additionalProperties': False}, 'PermutationEvidence': {'type': 'object', 'required': ['pvalue'], 'properties': {'pvalue': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'n_permutations': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'StudentizedInterval': {'type': 'object', 'required': ['lo', 'hi', 'contains_zero', 'n_resamples', 'method'], 'properties': {'hi': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'lo': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'method': {'type': 'string', 'maxLength': 2000}, 'n_resamples': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'contains_zero': {'type': 'boolean'}}, 'additionalProperties': False}, 'WalkForwardEvidence': {'type': 'object', 'required': ['n_folds', 'oos_share_positive', 'oos_median_sharpe_per_obs', 'oos_sum', 'generalization_ratio', 'is_oos_correlation', 'weak_generalization'], 'properties': {'n_folds': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'oos_sum': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'is_oos_correlation': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}, {'type': 'null'}]}, 'oos_share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'weak_generalization': {'type': 'boolean'}, 'generalization_ratio': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'oos_median_sharpe_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'BenchmarkUnavailable': {'type': 'object', 'required': ['status', 'note', 'failure_codes'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'status': {'enum': ['benchmark_not_supplied', 'invalid_benchmark'], 'type': 'string'}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}}, 'additionalProperties': False}, 'CostModelUncertainty': {'type': 'object', 'required': ['exponent_band', 'ceiling_by_exponent', 'worst_case_ceiling_usd'], 'properties': {'exponent_band': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 10000}, 'ceiling_by_exponent': {'$ref': '#/$defs/NullableNumberMap'}, 'worst_case_ceiling_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'CpcvComputedEvidence': {'type': 'object', 'required': ['share_positive', 'min_share_positive', 'median_combination_sharpe_annualized', 'worst_combination_sharpe_annualized', 'n_combinations', 'purge'], 'properties': {'purge': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n_combinations': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'min_share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'worst_combination_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'median_combination_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'FamilyDeflationStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'family_deflation'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/FamilyDeflationEvidence'}}, 'additionalProperties': False}, 'PowerHonestyEvidence': {'type': 'object', 'required': ['min_btl_obs', 'bars', 'n_trials_effective', 'achieved_power', 'cohens_d', 'n_required_80', 'underpowered'], 'properties': {'bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'cohens_d': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'min_btl_obs': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'underpowered': {'type': 'boolean'}, 'n_required_80': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'achieved_power': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'n_trials_effective': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'SignificanceEvidence': {'type': 'object', 'required': ['bootstrap_ci', 'studentized_ci', 'hac', 'permutation', 'binomial', 'normality', 'flags', 'advisories'], 'properties': {'hac': {'anyOf': [{'$ref': '#/$defs/HacEvidence'}, {'type': 'null'}]}, 'flags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'binomial': {'anyOf': [{'$ref': '#/$defs/BinomialEvidence'}, {'type': 'null'}]}, 'normality': {'anyOf': [{'$ref': '#/$defs/NormalityEvidence'}, {'type': 'null'}]}, 'advisories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'permutation': {'anyOf': [{'$ref': '#/$defs/PermutationEvidence'}, {'type': 'null'}]}, 'bootstrap_ci': {'anyOf': [{'$ref': '#/$defs/ConfidenceInterval'}, {'type': 'null'}]}, 'studentized_ci': {'anyOf': [{'$ref': '#/$defs/StudentizedInterval'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'SyntheticNullPreview': {'type': 'object', 'required': ['paths', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'paths': {'type': 'array', 'items': {'$ref': '#/$defs/SyntheticNullPreviewPath'}, 'maxItems': 3}}, 'additionalProperties': False}, 'ConcentrationEvidence': {'type': 'object', 'required': ['top_1pct_share', 'n_top_bars', 'rest_net_return_total_pct', 'warn_share_threshold'], 'properties': {'n_top_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'top_1pct_share': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'warn_share_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'rest_net_return_total_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'ExplanationProvenance': {'type': 'object', 'required': ['source_tool', 'source_tool_version', 'schema_ref', 'schema_version', 'inputs_hash', 'request_hash', 'generated_at', 'evidence_refs', 'check_refs'], 'properties': {'check_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'schema_ref': {'type': 'string', 'maxLength': 2000}, 'inputs_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_tool': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'generated_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'request_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'evidence_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'schema_version': {'type': 'string', 'const': '0'}, 'source_tool_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'GraveyardPriorEvidence': {'type': 'object', 'required': ['family_published', 'prior_kill_rate', 'top_kill_reasons'], 'properties': {'prior_kill_rate': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'family_published': {'type': 'boolean'}, 'top_kill_reasons': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/KillReason'}, 'maxItems': 5}, {'type': 'null'}]}}, 'additionalProperties': False}, 'FamilyDeflationEvidence': {'type': 'object', 'required': ['dsr', 'cumulative_n', 'n_trials_effective', 'variants_in_call', 'family_verdict', 'effective_n_method', 'killed_by'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'killed_by': {'anyOf': [{'type': 'array', 'items': {'enum': ['evt_dsr', 'harvey_liu_bh'], 'type': 'string'}, 'maxItems': 2}, {'type': 'null'}]}, 'cumulative_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'family_verdict': {'anyOf': [{'enum': ['survives', 'deflated_out'], 'type': 'string'}, {'type': 'null'}]}, 'variants_in_call': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'effective_n_method': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'n_trials_effective': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}}, 'additionalProperties': False}, 'LeakageAttributionEntry': {'type': 'object', 'required': ['leakage_class', 'failure_class', 'severity', 'source'], 'properties': {'source': {'enum': ['finding', 'execution_attestation'], 'type': 'string'}, 'severity': {'enum': ['hard_fail', 'cap_verdict', 'major_penalty', 'minor_penalty', 'trust_gate'], 'type': 'string'}, 'failure_class': {'enum': ['data_rights', 'pit_lookahead', 'survivorship', 'selection_multiple_testing', 'effective_n', 'oos_walk_forward', 'cpcv', 'costs_slippage_capacity', 'pbo_dsr_overfit', 'null_placebo', 'regime', 'execution', 'reproducibility', 'benchmark_overlap'], 'type': 'string'}, 'leakage_class': {'enum': ['I', 'II', 'III'], 'type': 'string'}}, 'additionalProperties': False}, 'ReproducibilityReadiness': {'type': 'object', 'required': ['tier', 'label', 'severity', 'present', 'missing', 'cap_reason', 'detail'], 'properties': {'tier': {'enum': ['R0', 'R1', 'R2', 'R3'], 'type': 'string'}, 'label': {'type': 'string', 'maxLength': 2000}, 'detail': {'type': 'string', 'maxLength': 2000}, 'missing': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'present': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'severity': {'type': 'string', 'const': 'trust_gate'}, 'cap_reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}}, 'additionalProperties': False}, 'SyntheticNullPreviewPath': {'type': 'object', 'required': ['family', 'n_bars', 'total_return_pct', 'realized_vol_annualized_pct', 'max_drawdown_pct', 'ground_truth'], 'properties': {'family': {'enum': ['heston', 'merton_jump', 'drift_burst'], 'type': 'string'}, 'n_bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'ground_truth': {'type': 'string', 'const': 'no_edge'}, 'max_drawdown_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'total_return_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'realized_vol_annualized_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}}, 'additionalProperties': False}, 'InsufficientStageEvidence': {'type': 'object', 'required': ['reason'], 'properties': {'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'oneOf': [{'not': {'anyOf': [{'required': ['schema']}, {'required': ['budget']}, {'required': ['stages']}, {'required': ['failure_codes']}, {'required': ['family_id']}, {'required': ['spec_hash']}, {'required': ['disclaimer']}, {'required': ['died_at']}, {'required': ['died_at_plain']}, {'required': ['data_note']}]}, 'required': ['explanation', 'note', 'synthetic_null_preview', 'price_usd'], 'properties': {'note': {'not': {'type': 'null'}}, 'verdict': {'not': {'type': 'string'}}, 'price_usd': {'not': {'type': 'null'}}, 'explanation': {'not': {'type': 'null'}}, 'synthetic_null_preview': {'not': {'type': 'null'}}}}, {'not': {'anyOf': [{'required': ['note']}, {'required': ['synthetic_null_preview']}, {'required': ['price_usd']}, {'required': ['schema']}, {'required': ['budget']}, {'required': ['stages']}, {'required': ['failure_codes']}, {'required': ['family_id']}, {'required': ['spec_hash']}, {'required': ['disclaimer']}, {'required': ['died_at']}, {'required': ['died_at_plain']}, {'required': ['data_note']}]}, 'required': ['explanation'], 'properties': {'verdict': {'not': {'type': 'string'}}, 'explanation': {'not': {'type': 'null'}}}}, {'not': {'anyOf': [{'required': ['explanation']}, {'required': ['note']}, {'required': ['synthetic_null_preview']}, {'required': ['price_usd']}]}, 'required': ['schema', 'budget', 'stages', 'failure_codes', 'family_id', 'spec_hash', 'disclaimer', 'died_at', 'died_at_plain'], 'properties': {'budget': {'not': {'type': 'null'}}, 'schema': {'const': 'gauntlet.v1'}, 'stages': {'not': {'type': 'null'}}, 'verdict': {'enum': ['pass', 'conditional', 'fail']}, 'family_id': {'not': {'type': 'null'}}, 'spec_hash': {'not': {'type': 'null'}}, 'disclaimer': {'not': {'type': 'null'}}, 'failure_codes': {'not': {'type': 'null'}}}}], 'required': ['_meta', 'verdict'], 'properties': {'note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'budget': {'anyOf': [{'$ref': '#/$defs/GauntletBudget'}, {'type': 'null'}], 'default': None}, 'schema': {'anyOf': [{'type': 'string', 'const': 'gauntlet.v1'}, {'type': 'null'}], 'default': None}, 'stages': {'anyOf': [{'type': 'array', 'items': {'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'}], 'discriminator': {'mapping': {'cpcv': '#/$defs/CpcvStage', 'placebo': '#/$defs/PlaceboStage', 'capacity': '#/$defs/CapacityStage', 'net_edge': '#/$defs/NetEdgeStage', 'funding_edge': '#/$defs/FundingEdgeStage', 'significance': '#/$defs/SignificanceStage', 'walk_forward': '#/$defs/WalkForwardStage', 'concentration': '#/$defs/ConcentrationStage', 'power_honesty': '#/$defs/PowerHonestyStage', 'graveyard_prior': '#/$defs/GraveyardPriorStage', 'family_deflation': '#/$defs/FamilyDeflationStage'}, 'propertyName': 'stage'}}, 'maxItems': 11, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'died_at': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'verdict': {'anyOf': [{'$ref': '#/$defs/VerdictEnvelope'}, {'enum': ['pass', 'conditional', 'fail'], 'type': 'string'}]}, 'data_note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'family_id': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'price_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'spec_hash': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'explanation': {'anyOf': [{'$ref': '#/$defs/Explanation'}, {'type': 'null'}], 'default': None}, 'died_at_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'failure_codes': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, {'type': 'null'}], 'default': None}, 'synthetic_null_preview': {'anyOf': [{'$ref': '#/$defs/SyntheticNullPreview'}, {'type': 'null'}], 'default': None}}, 'description': 'All three documented demo responses under one closed public contract.', 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'ConstNode': {'type': 'object', 'required': ['const'], 'properties': {'const': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'SignalNode': {'type': 'object', 'oneOf': [{'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt']}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}}}, {'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['and', 'or']}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'$ref': '#/$defs/SignalNode'}}}, {'required': ['op', 'left'], 'properties': {'op': {'const': 'not'}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'type': 'null'}}}], 'required': ['op', 'left'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt', 'and', 'or', 'not'], 'type': 'string'}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'OHLCVSeries': {'type': 'object', 'required': ['close'], 'properties': {'low': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'high': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'open': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'time': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'close': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, 'volume': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}}, 'x-relations': ['len(time|open|high|low|volume) == len(close) when present'], 'additionalProperties': False}, 'StrategySpec': {'type': 'object', 'required': ['dsl_version', 'asset_universe', 'bar_interval', 'target', 'signal'], 'properties': {'signal': {'$ref': '#/$defs/SignalNode', 'x-maxDepth': 16}, 'target': {'$ref': '#/$defs/StrategyTarget'}, 'position': {'anyOf': [{'$ref': '#/$defs/StrategyPosition'}, {'type': 'null'}], 'default': None}, 'dsl_version': {'type': 'string', 'const': '1'}, 'bar_interval': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'asset_universe': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, 'entry_lag_bars': {'type': 'integer', 'default': 1, 'maximum': 5000, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'IndicatorNode': {'type': 'object', 'oneOf': [{'required': ['indicator'], 'properties': {'window': {'type': 'null'}, 'indicator': {'const': 'price'}}}, {'required': ['indicator', 'window'], 'properties': {'source': {'type': 'null'}, 'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'const': 'atr'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 2, 'x-strictJsonInteger': True}, 'indicator': {'const': 'zscore'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'roc']}}}], 'required': ['indicator'], 'properties': {'source': {'anyOf': [{'enum': ['open', 'high', 'low', 'close', 'volume'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'window': {'anyOf': [{'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'atr', 'roc', 'zscore', 'price'], 'type': 'string'}}, 'additionalProperties': False}, 'StrategyTarget': {'type': 'object', 'required': ['kind', 'horizon_bars'], 'properties': {'kind': {'type': 'string', 'const': 'forward_return'}, 'horizon_bars': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'StrategyPosition': {'type': 'object', 'required': ['on_signal', 'else'], 'properties': {'else': {'type': 'string', 'const': 'flat'}, 'on_signal': {'type': 'string', 'const': 'long'}}, 'additionalProperties': False}}, 'required': ['spec', 'ohlcv_by_symbol'], 'properties': {'spec': {'$ref': '#/$defs/StrategySpec', 'description': 'Executable JSON DSL strategy to attack with the survival map.'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'ohlcv_by_symbol': {'type': 'object', 'description': 'Your candles per symbol for the attack battery.', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/OHLCVSeries'}}, 'additionalProperties': False}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}], 'default': 10.0, 'description': 'Round-trip cost in bps/side for the cost stress.'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'NumberMap': {'type': 'object', 'description': 'Bounded runtime-keyed map of finite numbers.', 'maxProperties': 256, 'propertyNames': {'maxLength': 128, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'CostStressAttack': {'type': 'object', 'required': ['attack', 'dimension', 'survives', 'kill_point', 'evidence', 'plain_language'], 'properties': {'attack': {'type': 'string', 'const': 'cost_stress'}, 'evidence': {'$ref': '#/$defs/CostStressAttackEvidence'}, 'survives': {'type': 'boolean'}, 'dimension': {'type': 'string', 'const': 'costs'}, 'kill_point': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'plain_language': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'DriftBurstAttack': {'type': 'object', 'required': ['attack', 'dimension', 'survives', 'kill_point', 'evidence', 'plain_language'], 'properties': {'attack': {'type': 'string', 'const': 'drift_burst'}, 'evidence': {'$ref': '#/$defs/DriftBurstAttackEvidence'}, 'survives': {'type': 'boolean'}, 'dimension': {'type': 'string', 'const': 'burst_concentration'}, 'kill_point': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'plain_language': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'RegimeSplitAttack': {'type': 'object', 'required': ['attack', 'dimension', 'survives', 'kill_point', 'evidence', 'plain_language'], 'properties': {'attack': {'type': 'string', 'const': 'regime_split'}, 'evidence': {'$ref': '#/$defs/RegimeSplitAttackEvidence'}, 'survives': {'type': 'boolean'}, 'dimension': {'type': 'string', 'const': 'regime_dependence'}, 'kill_point': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'plain_language': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'CpcvAttackEvidence': {'type': 'object', 'required': ['status', 'share_positive', 'min_share_positive', 'median_combination_sharpe_annualized', 'worst_combination_sharpe_annualized', 'n_combinations', 'purge'], 'properties': {'purge': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'status': {'type': 'string', 'maxLength': 2000}, 'n_combinations': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'min_share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'worst_combination_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'median_combination_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'ExecutionLagAttack': {'type': 'object', 'required': ['attack', 'dimension', 'survives', 'kill_point', 'evidence', 'plain_language'], 'properties': {'attack': {'type': 'string', 'const': 'execution_lag'}, 'evidence': {'$ref': '#/$defs/ExecutionLagAttackEvidence'}, 'survives': {'type': 'boolean'}, 'dimension': {'type': 'string', 'const': 'look_ahead'}, 'kill_point': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'plain_language': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'CpcvPartitionAttack': {'type': 'object', 'required': ['attack', 'dimension', 'survives', 'kill_point', 'evidence', 'plain_language'], 'properties': {'attack': {'type': 'string', 'const': 'cpcv_partition'}, 'evidence': {'$ref': '#/$defs/CpcvAttackEvidence'}, 'survives': {'type': 'boolean'}, 'dimension': {'type': 'string', 'const': 'path_dependence'}, 'kill_point': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'plain_language': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'SyntheticNullAttack': {'type': 'object', 'required': ['attack', 'dimension', 'survives', 'kill_point', 'evidence', 'plain_language'], 'properties': {'attack': {'type': 'string', 'const': 'synthetic_null'}, 'evidence': {'$ref': '#/$defs/SyntheticNullAttackEvidence'}, 'survives': {'type': 'boolean'}, 'dimension': {'type': 'string', 'const': 'process_placebo'}, 'kill_point': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'plain_language': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'TimeJackknifeAttack': {'type': 'object', 'required': ['attack', 'dimension', 'survives', 'kill_point', 'evidence', 'plain_language'], 'properties': {'attack': {'type': 'string', 'const': 'time_jackknife'}, 'evidence': {'$ref': '#/$defs/TimeJackknifeAttackEvidence'}, 'survives': {'type': 'boolean'}, 'dimension': {'type': 'string', 'const': 'period_dependence'}, 'kill_point': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'plain_language': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'FalsifyGraveyardContext': {'type': 'object', 'required': ['attack_reordered_for_cost', 'family_prior_kill_rate'], 'properties': {'family_prior_kill_rate': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'attack_reordered_for_cost': {'type': 'boolean'}}, 'additionalProperties': False}, 'CostStressAttackEvidence': {'type': 'object', 'required': ['sharpe_by_cost_multiple'], 'properties': {'sharpe_by_cost_multiple': {'$ref': '#/$defs/NumberMap'}}, 'additionalProperties': False}, 'DriftBurstAttackEvidence': {'type': 'object', 'required': ['n_burst_bars', 'burst_pnl_share', 'stripped_sharpe_annualized', 'vol_window', 'sigma_multiple'], 'properties': {'vol_window': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n_burst_bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'sigma_multiple': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'burst_pnl_share': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'stripped_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'RegimeSplitAttackEvidence': {'type': 'object', 'required': ['first_half_sharpe', 'second_half_sharpe'], 'properties': {'first_half_sharpe': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'second_half_sharpe': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'ExecutionLagAttackEvidence': {'type': 'object', 'required': ['sharpe_by_lag', 'verdict_lag'], 'properties': {'verdict_lag': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'sharpe_by_lag': {'$ref': '#/$defs/NumberMap'}}, 'additionalProperties': False}, 'SyntheticNullAttackEvidence': {'type': 'object', 'required': ['n_paths', 'n_usable_paths', 'families', 'survive_threshold_percentile', 'status', 'null_sharpe_percentile'], 'properties': {'status': {'enum': ['computed', 'insufficient_paths'], 'type': 'string'}, 'n_paths': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'families': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'n_usable_paths': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'null_sharpe_max': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'null_sharpe_median': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'null_sharpe_percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'survive_threshold_percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}]}}, 'additionalProperties': False}, 'TimeJackknifeAttackEvidence': {'type': 'object', 'required': ['sharpe_by_dropped_period'], 'properties': {'sharpe_by_dropped_period': {'$ref': '#/$defs/NumberMap'}}, 'additionalProperties': False}, 'ParameterNeighbourhoodAttack': {'type': 'object', 'required': ['attack', 'dimension', 'survives', 'kill_point', 'evidence', 'plain_language'], 'properties': {'attack': {'type': 'string', 'const': 'parameter_neighbourhood'}, 'evidence': {'$ref': '#/$defs/ParameterNeighbourhoodEvidence'}, 'survives': {'type': 'boolean'}, 'dimension': {'type': 'string', 'const': 'overfit'}, 'kill_point': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'plain_language': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'ParameterNeighbourhoodEvidence': {'type': 'object', 'required': ['base_sharpe', 'neighbour_sharpe', 'stability_surface', 'neighbour_survival_share', 'worst_to_base_ratio'], 'properties': {'base_sharpe': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'neighbour_sharpe': {'$ref': '#/$defs/NumberMap'}, 'stability_surface': {'$ref': '#/$defs/NumberMap'}, 'worst_to_base_ratio': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'neighbour_survival_share': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['verdict'], 'properties': {'verdict': {'const': 'no_edge_to_attack'}}}, 'then': {'required': ['detail'], 'properties': {'detail': {'not': {'type': 'null'}}, 'headline': {'type': 'null'}, 'family_id': {'type': 'null'}, 'killed_by': {'type': 'null'}, 'spec_hash': {'type': 'null'}, 'survival_map': {'type': 'null'}, 'graveyard_informed': {'type': 'null'}}}}, {'if': {'required': ['verdict'], 'properties': {'verdict': {'const': 'SURVIVOR'}}}, 'then': {'required': ['killed_by', 'survival_map', 'family_id', 'spec_hash', 'graveyard_informed', 'headline'], 'properties': {'detail': {'type': 'null'}, 'headline': {'not': {'type': 'null'}}, 'family_id': {'not': {'type': 'null'}}, 'killed_by': {'not': {'type': 'null'}}, 'spec_hash': {'not': {'type': 'null'}}, 'survival_map': {'not': {'type': 'null'}}, 'graveyard_informed': {'not': {'type': 'null'}}}}}, {'if': {'required': ['verdict'], 'properties': {'verdict': {'const': 'KILLED'}}}, 'then': {'required': ['killed_by', 'survival_map', 'family_id', 'spec_hash', 'graveyard_informed', 'headline'], 'properties': {'detail': {'type': 'null'}, 'headline': {'not': {'type': 'null'}}, 'family_id': {'not': {'type': 'null'}}, 'killed_by': {'not': {'type': 'null'}}, 'spec_hash': {'not': {'type': 'null'}}, 'survival_map': {'not': {'type': 'null'}}, 'graveyard_informed': {'not': {'type': 'null'}}}}}], 'required': ['_meta', 'schema', 'verdict', 'base_sharpe_annualized', 'disclaimer'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'detail': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'schema': {'type': 'string', 'const': 'falsify.v1'}, 'verdict': {'enum': ['no_edge_to_attack', 'SURVIVOR', 'KILLED'], 'type': 'string'}, 'headline': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'family_id': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'killed_by': {'anyOf': [{'type': 'array', 'items': {'enum': ['execution_lag', 'cost_stress', 'time_jackknife', 'regime_split', 'parameter_neighbourhood', 'cpcv_partition', 'synthetic_null', 'drift_burst'], 'type': 'string'}, 'maxItems': 8}, {'type': 'null'}], 'default': None}, 'spec_hash': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'survival_map': {'anyOf': [{'type': 'array', 'items': {'oneOf': [{'$ref': '#/$defs/ExecutionLagAttack'}, {'$ref': '#/$defs/CostStressAttack'}, {'$ref': '#/$defs/TimeJackknifeAttack'}, {'$ref': '#/$defs/RegimeSplitAttack'}, {'$ref': '#/$defs/ParameterNeighbourhoodAttack'}, {'$ref': '#/$defs/CpcvPartitionAttack'}, {'$ref': '#/$defs/SyntheticNullAttack'}, {'$ref': '#/$defs/DriftBurstAttack'}], 'discriminator': {'mapping': {'cost_stress': '#/$defs/CostStressAttack', 'drift_burst': '#/$defs/DriftBurstAttack', 'regime_split': '#/$defs/RegimeSplitAttack', 'execution_lag': '#/$defs/ExecutionLagAttack', 'cpcv_partition': '#/$defs/CpcvPartitionAttack', 'synthetic_null': '#/$defs/SyntheticNullAttack', 'time_jackknife': '#/$defs/TimeJackknifeAttack', 'parameter_neighbourhood': '#/$defs/ParameterNeighbourhoodAttack'}, 'propertyName': 'attack'}}, 'maxItems': 8, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'weakest_link': {'anyOf': [{'enum': ['execution_lag', 'cost_stress', 'time_jackknife', 'regime_split', 'parameter_neighbourhood', 'cpcv_partition', 'synthetic_null', 'drift_burst'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'graveyard_informed': {'anyOf': [{'$ref': '#/$defs/FalsifyGraveyardContext'}, {'type': 'null'}], 'default': None}, 'base_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'OHLCVSeries': {'type': 'object', 'required': ['close'], 'properties': {'low': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'high': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'open': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'time': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'close': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, 'volume': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}}, 'x-relations': ['len(time|open|high|low|volume) == len(close) when present'], 'additionalProperties': False}, 'SignalEvent': {'type': 'object', 'required': ['decision_time', 'symbol', 'direction'], 'properties': {'symbol': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, 'direction': {'enum': ['long', 'short'], 'type': 'string'}, 'confidence': {'anyOf': [{'ge': 0, 'le': 1, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}]}, {'type': 'null'}], 'default': None}, 'decision_time': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}}, 'required': ['signal_events', 'ohlcv_by_symbol'], 'properties': {'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'signal_events': {'type': 'array', 'items': {'$ref': '#/$defs/SignalEvent'}, 'maxItems': 10000, 'minItems': 1, 'description': 'Signal decisions with the schema-accepted fields {decision_time, symbol, direction, confidence?} to test for timing leakage.'}, 'ohlcv_by_symbol': {'type': 'object', 'description': 'Candles per symbol the events are scored against for the look-ahead / front-loading forensics.', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/OHLCVSeries'}}, 'additionalProperties': False}, 'primary_horizon': {'type': 'integer', 'default': 3, 'maximum': 5000, 'minimum': 1, 'description': 'Forward horizon in bars the signal claims to predict, for the leakage attribution.', 'x-strictJsonInteger': True}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'NumberMap': {'type': 'object', 'description': 'Bounded runtime-keyed map of finite numbers.', 'maxProperties': 256, 'propertyNames': {'maxLength': 128, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'IntegerMap': {'type': 'object', 'description': 'Bounded runtime-keyed map of integer counts.', 'maxProperties': 256, 'propertyNames': {'maxLength': 128, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'EntryLagEvidence': {'type': 'object', 'properties': {'events_per_lag': {'anyOf': [{'$ref': '#/$defs/IntegerMap'}, {'type': 'null'}], 'default': None}, 'events_with_window': {'anyOf': [{'$ref': '#/$defs/IntegerMap'}, {'type': 'null'}], 'default': None}, 'lag_curve_mean_pct': {'anyOf': [{'$ref': '#/$defs/NumberMap'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'EntryLagDiagnosis': {'type': 'object', 'required': ['id', 'finding', 'severity', 'evidence', 'plain_language_explanation'], 'properties': {'id': {'type': 'string', 'const': 'entry_lag_sweep'}, 'finding': {'type': 'string', 'maxLength': 2000}, 'evidence': {'$ref': '#/$defs/EntryLagEvidence'}, 'severity': {'enum': ['critical', 'ok', 'insufficient_power'], 'type': 'string'}, 'plain_language_explanation': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'RejectedSignalEvent': {'type': 'object', 'properties': {'symbol': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'direction': {'anyOf': [{'enum': ['long', 'short'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'confidence': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'decision_time': {'anyOf': [{'type': 'string', 'maxLength': 64, 'minLength': 1}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'FrontLoadingEvidence': {'type': 'object', 'required': ['clusters'], 'properties': {'clusters': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'pooled_pre_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'pooled_post_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'front_loading_share': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'front_loading_share_max': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'RandomTimingEvidence': {'type': 'object', 'properties': {'seed': {'anyOf': [{'type': 'integer', 'maximum': 18446744073709551615, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'n_null_windows': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'empirical_p_value': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'observed_mean_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'null_window_candidates': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'ForensicsInputSummary': {'type': 'object', 'required': ['events_submitted', 'events_valid', 'events_rejected', 'rejected', 'distinct_clusters', 'primary_horizon_bars'], 'properties': {'rejected': {'type': 'array', 'items': {'$ref': '#/$defs/ForensicsRejectedEvent'}, 'maxItems': 10}, 'events_valid': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'events_rejected': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'events_submitted': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'distinct_clusters': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'primary_horizon_bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'FrontLoadingDiagnosis': {'type': 'object', 'required': ['id', 'finding', 'severity', 'evidence', 'plain_language_explanation'], 'properties': {'id': {'type': 'string', 'const': 'front_loading'}, 'finding': {'type': 'string', 'maxLength': 2000}, 'evidence': {'$ref': '#/$defs/FrontLoadingEvidence'}, 'severity': {'enum': ['high', 'ok', 'insufficient_power'], 'type': 'string'}, 'plain_language_explanation': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'RandomTimingDiagnosis': {'type': 'object', 'required': ['id', 'finding', 'severity', 'evidence', 'plain_language_explanation'], 'properties': {'id': {'type': 'string', 'const': 'same_symbol_random_timing_placebo'}, 'finding': {'type': 'string', 'maxLength': 2000}, 'evidence': {'$ref': '#/$defs/RandomTimingEvidence'}, 'severity': {'enum': ['high', 'ok', 'insufficient_power'], 'type': 'string'}, 'plain_language_explanation': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'ForensicsRejectedEvent': {'type': 'object', 'required': ['index', 'reason', 'event'], 'properties': {'event': {'$ref': '#/$defs/RejectedSignalEvent'}, 'index': {'type': 'integer', 'minimum': 0, 'exclusiveMaximum': 10000, 'x-strictJsonInteger': True}, 'reason': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'ClusterCollapseEvidence': {'type': 'object', 'required': ['reported_trades', 'independent_clusters'], 'properties': {'cluster_key': {'anyOf': [{'type': 'string', 'const': 'utc_calendar_day'}, {'type': 'null'}], 'default': None}, 'reported_trades': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'independent_clusters': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'ClusterCollapseDiagnosis': {'type': 'object', 'required': ['id', 'finding', 'severity', 'evidence', 'plain_language_explanation'], 'properties': {'id': {'type': 'string', 'const': 'cluster_collapse'}, 'finding': {'type': 'string', 'maxLength': 2000}, 'evidence': {'$ref': '#/$defs/ClusterCollapseEvidence'}, 'severity': {'enum': ['high', 'medium', 'ok', 'insufficient_power'], 'type': 'string'}, 'plain_language_explanation': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'SignRandomizationEvidence': {'type': 'object', 'required': ['n_clusters'], 'properties': {'survives': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'n_clusters': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'empirical_p_value': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'observed_cluster_mean_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'BurstConcentrationEvidence': {'type': 'object', 'properties': {'bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'min_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'calm_events': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'burst_events': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'n_burst_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'burst_mean_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'non_burst_mean_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'SignRandomizationDiagnosis': {'type': 'object', 'required': ['id', 'finding', 'severity', 'evidence', 'plain_language_explanation'], 'properties': {'id': {'type': 'string', 'const': 'sign_randomization'}, 'finding': {'type': 'string', 'maxLength': 2000}, 'evidence': {'$ref': '#/$defs/SignRandomizationEvidence'}, 'severity': {'enum': ['medium', 'ok', 'insufficient_power'], 'type': 'string'}, 'plain_language_explanation': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'BurstConcentrationDiagnosis': {'type': 'object', 'required': ['id', 'finding', 'severity', 'evidence', 'plain_language_explanation'], 'properties': {'id': {'type': 'string', 'const': 'burst_concentration'}, 'finding': {'type': 'string', 'maxLength': 2000}, 'evidence': {'$ref': '#/$defs/BurstConcentrationEvidence'}, 'severity': {'enum': ['high', 'ok', 'insufficient_power'], 'type': 'string'}, 'plain_language_explanation': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'schema', 'verdict', 'diagnoses', 'headline', 'input_summary', 'disclaimer'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'schema': {'type': 'string', 'const': 'signal_forensics.v1'}, 'verdict': {'enum': ['leakage_suspected', 'weak_evidence', 'insufficient_evidence', 'no_leakage_detected'], 'type': 'string'}, 'headline': {'type': 'string', 'maxLength': 2000}, 'diagnoses': {'type': 'array', 'items': {'oneOf': [{'$ref': '#/$defs/EntryLagDiagnosis'}, {'$ref': '#/$defs/FrontLoadingDiagnosis'}, {'$ref': '#/$defs/RandomTimingDiagnosis'}, {'$ref': '#/$defs/SignRandomizationDiagnosis'}, {'$ref': '#/$defs/ClusterCollapseDiagnosis'}, {'$ref': '#/$defs/BurstConcentrationDiagnosis'}], 'discriminator': {'mapping': {'front_loading': '#/$defs/FrontLoadingDiagnosis', 'entry_lag_sweep': '#/$defs/EntryLagDiagnosis', 'cluster_collapse': '#/$defs/ClusterCollapseDiagnosis', 'sign_randomization': '#/$defs/SignRandomizationDiagnosis', 'burst_concentration': '#/$defs/BurstConcentrationDiagnosis', 'same_symbol_random_timing_placebo': '#/$defs/RandomTimingDiagnosis'}, 'propertyName': 'id'}}, 'maxItems': 6}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'input_summary': {'$ref': '#/$defs/ForensicsInputSummary'}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'ConstNode': {'type': 'object', 'required': ['const'], 'properties': {'const': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'SignalNode': {'type': 'object', 'oneOf': [{'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt']}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}}}, {'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['and', 'or']}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'$ref': '#/$defs/SignalNode'}}}, {'required': ['op', 'left'], 'properties': {'op': {'const': 'not'}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'type': 'null'}}}], 'required': ['op', 'left'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt', 'and', 'or', 'not'], 'type': 'string'}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'OHLCVSeries': {'type': 'object', 'required': ['close'], 'properties': {'low': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'high': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'open': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'time': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'close': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, 'volume': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}}, 'x-relations': ['len(time|open|high|low|volume) == len(close) when present'], 'additionalProperties': False}, 'FundingPoint': {'type': 'object', 'required': ['ts', 'rate'], 'properties': {'ts': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'rate': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'StrategySpec': {'type': 'object', 'required': ['dsl_version', 'asset_universe', 'bar_interval', 'target', 'signal'], 'properties': {'signal': {'$ref': '#/$defs/SignalNode', 'x-maxDepth': 16}, 'target': {'$ref': '#/$defs/StrategyTarget'}, 'position': {'anyOf': [{'$ref': '#/$defs/StrategyPosition'}, {'type': 'null'}], 'default': None}, 'dsl_version': {'type': 'string', 'const': '1'}, 'bar_interval': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'asset_universe': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, 'entry_lag_bars': {'type': 'integer', 'default': 1, 'maximum': 5000, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'IndicatorNode': {'type': 'object', 'oneOf': [{'required': ['indicator'], 'properties': {'window': {'type': 'null'}, 'indicator': {'const': 'price'}}}, {'required': ['indicator', 'window'], 'properties': {'source': {'type': 'null'}, 'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'const': 'atr'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 2, 'x-strictJsonInteger': True}, 'indicator': {'const': 'zscore'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'roc']}}}], 'required': ['indicator'], 'properties': {'source': {'anyOf': [{'enum': ['open', 'high', 'low', 'close', 'volume'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'window': {'anyOf': [{'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'atr', 'roc', 'zscore', 'price'], 'type': 'string'}}, 'additionalProperties': False}, 'StrategyTarget': {'type': 'object', 'required': ['kind', 'horizon_bars'], 'properties': {'kind': {'type': 'string', 'const': 'forward_return'}, 'horizon_bars': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'StrategyPosition': {'type': 'object', 'required': ['on_signal', 'else'], 'properties': {'else': {'type': 'string', 'const': 'flat'}, 'on_signal': {'type': 'string', 'const': 'long'}}, 'additionalProperties': False}}, 'required': ['spec', 'ohlcv_by_symbol'], 'properties': {'spec': {'$ref': '#/$defs/StrategySpec', 'description': 'Executable JSON DSL strategy to run the full battery on.'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'sketch_opt_out': {'type': 'boolean', 'default': False, 'description': 'True to skip the return sketch (data minimisation).'}, 'ohlcv_by_symbol': {'type': 'object', 'description': 'Your candles per symbol for the gauntlet.', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/OHLCVSeries'}}, 'additionalProperties': False}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}], 'default': 10.0, 'description': 'Round-trip cost in bps/side.'}, 'variants_in_call': {'type': 'integer', 'default': 1, 'maximum': 25, 'minimum': 1, 'description': 'Sibling-variant count for family trial accounting.', 'x-strictJsonInteger': True}, 'adv_by_symbol_usd': {'anyOf': [{'type': 'object', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Average daily dollar volume per symbol, for the capacity / market-impact stress.'}, 'funding_by_symbol': {'anyOf': [{'type': 'object', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'type': 'array', 'items': {'$ref': '#/$defs/FundingPoint'}, 'maxItems': 5000, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Per-symbol funding-rate series so the funding-edge stage can net carry out of the edge.'}, 'sigma_by_symbol_pct': {'anyOf': [{'type': 'object', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Per-symbol volatility (%) input for the risk/capacity cells when you have it.'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'CpcvStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'cpcv'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'skipped'], 'type': 'string'}, 'evidence': {'anyOf': [{'$ref': '#/$defs/CpcvComputedEvidence'}, {'$ref': '#/$defs/InsufficientStageEvidence'}]}}, 'additionalProperties': False}, 'KillReason': {'type': 'object', 'required': ['reason', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'reason': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'EmptyObject': {'type': 'object', 'properties': {}, 'description': 'An explicitly empty, closed object.', 'additionalProperties': False}, 'HacEvidence': {'type': 'object', 'required': ['lo', 'hi', 'se_naive', 'se_hac', 't_hac', 'variance_ratio', 'lag', 'contains_zero', 'method'], 'properties': {'hi': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'lo': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'lag': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 't_hac': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'method': {'type': 'string', 'maxLength': 2000}, 'se_hac': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'se_naive': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'contains_zero': {'type': 'boolean'}, 'variance_ratio': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'NetEdgeStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'net_edge'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/NetEdgeEvidence'}}, 'additionalProperties': False}, 'PlaceboStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'placebo'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'warn', 'skipped'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/PlaceboEvidence'}}, 'additionalProperties': False}, 'CapacityStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'capacity'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'skipped'], 'type': 'string'}, 'evidence': {'anyOf': [{'$ref': '#/$defs/CapacityEvidence'}, {'$ref': '#/$defs/EmptyObject'}]}}, 'additionalProperties': False}, 'GauntletBudget': {'type': 'object', 'required': ['cumulative_n', 'n_trials_effective', 'effective_n_method', 'break_even_n', 'family_threshold_sharpe_per_obs', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'sketch_note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'break_even_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'cumulative_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'sketch_retained': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'effective_n_method': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'n_trials_effective': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'family_threshold_sharpe_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'FundingEvidence': {'type': 'object', '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'], 'properties': {'flags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'rate_convention': {'type': 'string', 'maxLength': 2000}, 'funding_share_of_net': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'funding_pnl_total_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'detected_interval_hours': {'$ref': '#/$defs/NullableNumberMap'}, 'n_funding_events_charged': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'price_net_return_total_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'net_return_after_funding_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'NetEdgeEvidence': {'type': 'object', 'required': ['net_sharpe_annualized', 'net_return_total_pct', 'trades', 'bars'], 'properties': {'bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'trades': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'net_return_total_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'net_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'PlaceboEvidence': {'type': 'object', 'required': ['percentile', 'n_placebos_effective', 'basis', 'sign_shuffle_percentile', 'chronology_percentile', 'real_trade_sharpe_annualized'], 'properties': {'basis': {'type': 'string', 'const': 'per_trade_gross'}, 'percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'n_placebos_effective': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'chronology_percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'sign_shuffle_percentile': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'real_trade_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'BinomialEvidence': {'type': 'object', 'required': ['wins', 'n', 'pvalue', 'significant'], 'properties': {'n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'wins': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'pvalue': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'significant': {'type': 'boolean'}}, 'additionalProperties': False}, 'CapacityEvidence': {'type': 'object', 'required': ['capacity_ceiling_usd', 'break_even_aum_usd', 'break_even_binding_symbol', 'model_range_exceeded', 'cost_model_uncertainty', 'mean_gross_return_pct_per_trade'], 'properties': {'break_even_aum_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'capacity_ceiling_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'model_range_exceeded': {'type': 'boolean'}, 'cost_model_uncertainty': {'$ref': '#/$defs/CostModelUncertainty'}, 'break_even_binding_symbol': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}]}, 'mean_gross_return_pct_per_trade': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'FundingEdgeStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'funding_edge'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'warn', 'skipped'], 'type': 'string'}, 'evidence': {'anyOf': [{'$ref': '#/$defs/FundingEvidence'}, {'$ref': '#/$defs/EmptyObject'}]}}, 'additionalProperties': False}, 'WalkForwardStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'walk_forward'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'info', 'skipped'], 'type': 'string'}, 'evidence': {'anyOf': [{'$ref': '#/$defs/WalkForwardEvidence'}, {'$ref': '#/$defs/InsufficientStageEvidence'}]}}, 'additionalProperties': False}, 'NormalityEvidence': {'type': 'object', 'required': ['skew', 'excess_kurtosis', 'normal_plausible'], 'properties': {'skew': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'excess_kurtosis': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'normal_plausible': {'type': 'boolean'}}, 'additionalProperties': False}, 'NullableNumberMap': {'type': 'object', 'description': 'Bounded runtime-keyed map of finite or unavailable numbers.', 'maxProperties': 256, 'propertyNames': {'maxLength': 128, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'PowerHonestyStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'power_honesty'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'info'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/PowerHonestyEvidence'}}, 'additionalProperties': False}, 'SignificanceStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'significance'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'info', 'skipped'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/SignificanceEvidence'}}, 'additionalProperties': False}, 'ConcentrationStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'concentration'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail', 'warn', 'info'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/ConcentrationEvidence'}}, 'additionalProperties': False}, 'ConfidenceInterval': {'type': 'object', 'required': ['lo', 'hi', 'contains_zero', 'n_resamples'], 'properties': {'hi': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'lo': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'n_resamples': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'contains_zero': {'type': 'boolean'}}, 'additionalProperties': False}, 'GraveyardPriorStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'graveyard_prior'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'type': 'string', 'const': 'info'}, 'evidence': {'$ref': '#/$defs/GraveyardPriorEvidence'}}, 'additionalProperties': False}, 'PermutationEvidence': {'type': 'object', 'required': ['pvalue'], 'properties': {'pvalue': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'n_permutations': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'StudentizedInterval': {'type': 'object', 'required': ['lo', 'hi', 'contains_zero', 'n_resamples', 'method'], 'properties': {'hi': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'lo': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'method': {'type': 'string', 'maxLength': 2000}, 'n_resamples': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'contains_zero': {'type': 'boolean'}}, 'additionalProperties': False}, 'WalkForwardEvidence': {'type': 'object', 'required': ['n_folds', 'oos_share_positive', 'oos_median_sharpe_per_obs', 'oos_sum', 'generalization_ratio', 'is_oos_correlation', 'weak_generalization'], 'properties': {'n_folds': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'oos_sum': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'is_oos_correlation': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}, {'type': 'null'}]}, 'oos_share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'weak_generalization': {'type': 'boolean'}, 'generalization_ratio': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'oos_median_sharpe_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'CostModelUncertainty': {'type': 'object', 'required': ['exponent_band', 'ceiling_by_exponent', 'worst_case_ceiling_usd'], 'properties': {'exponent_band': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 10000}, 'ceiling_by_exponent': {'$ref': '#/$defs/NullableNumberMap'}, 'worst_case_ceiling_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'CpcvComputedEvidence': {'type': 'object', 'required': ['share_positive', 'min_share_positive', 'median_combination_sharpe_annualized', 'worst_combination_sharpe_annualized', 'n_combinations', 'purge'], 'properties': {'purge': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n_combinations': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'min_share_positive': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'worst_combination_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'median_combination_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'FamilyDeflationStage': {'type': 'object', 'required': ['stage', 'verdict', 'evidence', 'detail'], 'properties': {'stage': {'type': 'string', 'const': 'family_deflation'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'fail'], 'type': 'string'}, 'evidence': {'$ref': '#/$defs/FamilyDeflationEvidence'}}, 'additionalProperties': False}, 'PowerHonestyEvidence': {'type': 'object', 'required': ['min_btl_obs', 'bars', 'n_trials_effective', 'achieved_power', 'cohens_d', 'n_required_80', 'underpowered'], 'properties': {'bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'cohens_d': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'min_btl_obs': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'underpowered': {'type': 'boolean'}, 'n_required_80': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'achieved_power': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'n_trials_effective': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'SignificanceEvidence': {'type': 'object', 'required': ['bootstrap_ci', 'studentized_ci', 'hac', 'permutation', 'binomial', 'normality', 'flags', 'advisories'], 'properties': {'hac': {'anyOf': [{'$ref': '#/$defs/HacEvidence'}, {'type': 'null'}]}, 'flags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'binomial': {'anyOf': [{'$ref': '#/$defs/BinomialEvidence'}, {'type': 'null'}]}, 'normality': {'anyOf': [{'$ref': '#/$defs/NormalityEvidence'}, {'type': 'null'}]}, 'advisories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'permutation': {'anyOf': [{'$ref': '#/$defs/PermutationEvidence'}, {'type': 'null'}]}, 'bootstrap_ci': {'anyOf': [{'$ref': '#/$defs/ConfidenceInterval'}, {'type': 'null'}]}, 'studentized_ci': {'anyOf': [{'$ref': '#/$defs/StudentizedInterval'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'ConcentrationEvidence': {'type': 'object', 'required': ['top_1pct_share', 'n_top_bars', 'rest_net_return_total_pct', 'warn_share_threshold'], 'properties': {'n_top_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'top_1pct_share': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'warn_share_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'rest_net_return_total_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'GraveyardPriorEvidence': {'type': 'object', 'required': ['family_published', 'prior_kill_rate', 'top_kill_reasons'], 'properties': {'prior_kill_rate': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'family_published': {'type': 'boolean'}, 'top_kill_reasons': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/KillReason'}, 'maxItems': 5}, {'type': 'null'}]}}, 'additionalProperties': False}, 'FamilyDeflationEvidence': {'type': 'object', 'required': ['dsr', 'cumulative_n', 'n_trials_effective', 'variants_in_call', 'family_verdict', 'effective_n_method', 'killed_by'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'killed_by': {'anyOf': [{'type': 'array', 'items': {'enum': ['evt_dsr', 'harvey_liu_bh'], 'type': 'string'}, 'maxItems': 2}, {'type': 'null'}]}, 'cumulative_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'family_verdict': {'anyOf': [{'enum': ['survives', 'deflated_out'], 'type': 'string'}, {'type': 'null'}]}, 'variants_in_call': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'effective_n_method': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'n_trials_effective': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}}, 'additionalProperties': False}, 'InsufficientStageEvidence': {'type': 'object', 'required': ['reason'], 'properties': {'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'schema', 'verdict', 'budget', 'stages', 'failure_codes', 'family_id', 'spec_hash', 'disclaimer', 'died_at', 'died_at_plain'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'budget': {'$ref': '#/$defs/GauntletBudget'}, 'schema': {'type': 'string', 'const': 'gauntlet.v1'}, 'stages': {'type': 'array', 'items': {'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'}], 'discriminator': {'mapping': {'cpcv': '#/$defs/CpcvStage', 'placebo': '#/$defs/PlaceboStage', 'capacity': '#/$defs/CapacityStage', 'net_edge': '#/$defs/NetEdgeStage', 'funding_edge': '#/$defs/FundingEdgeStage', 'significance': '#/$defs/SignificanceStage', 'walk_forward': '#/$defs/WalkForwardStage', 'concentration': '#/$defs/ConcentrationStage', 'power_honesty': '#/$defs/PowerHonestyStage', 'graveyard_prior': '#/$defs/GraveyardPriorStage', 'family_deflation': '#/$defs/FamilyDeflationStage'}, 'propertyName': 'stage'}}, 'maxItems': 11, 'minItems': 1}, 'died_at': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'verdict': {'enum': ['pass', 'conditional', 'fail'], 'type': 'string'}, 'data_note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'family_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'spec_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'died_at_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'JsonValue': {'anyOf': [{'type': 'boolean'}, {'type': 'integer', 'maximum': 1000000000000000, 'minimum': -1000000000000000, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000, 'minimum': -1000000000000000}, {'type': 'string', 'maxLength': 262144, 'x-maxUtf8Bytes': 262144}, {'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 10000}, {'type': 'object', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, {'type': 'null'}], 'x-maxDepth': 16, 'x-maxNodes': 10000}}, 'properties': {'variant': {'$ref': '#/$defs/JsonValue', 'default': None, 'description': 'Optional variant params to narrow the family lookup.'}, 'strategy': {'type': 'string', 'default': '', 'maxLength': 256, 'description': "Strategy family name to look up in the anonymised graveyard, e.g. 'sma_cross' -- what usually kills it."}, 'timeframe': {'type': 'string', 'default': '', 'maxLength': 64, 'description': 'Optional bar interval to filter the family stats.'}, 'fingerprint': {'type': 'string', 'default': '', 'maxLength': 256, 'description': 'Optional precomputed family fingerprint if you have it (skips the name lookup).'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'GraveyardKillReason': {'type': 'object', 'required': ['reason', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'reason': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'GraveyardFamilyStats': {'type': 'object', 'required': ['tested', 'killed', 'survived', 'distinct_submitters', 'best_surviving_dsr'], 'properties': {'killed': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'tested': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'survived': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'best_surviving_dsr': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'distinct_submitters': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'x-relations': ['tested == killed + survived'], 'additionalProperties': False}, 'GraveyardFallbackLevel': {'type': 'object', 'required': ['signal_type', 'asset_class', 'timeframe'], 'properties': {'timeframe': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'asset_class': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'signal_type': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'GraveyardFallbackStats': {'type': 'object', 'required': ['tested', 'killed', 'survived', 'families', 'kill_rate'], 'properties': {'killed': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'tested': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'families': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'survived': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'kill_rate': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}}, 'x-relations': ['tested == killed + survived'], 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'oneOf': [{'not': {'anyOf': [{'required': ['fallback_level']}, {'required': ['fallback_stats']}, {'required': ['reason']}, {'required': ['note']}]}, 'required': ['family_stats', 'prior_kill_rate', 'crowd_prior_n_trials', 'top_kill_reasons', 'plain_language', 'collision_warning'], 'properties': {'family_stats': {'not': {'type': 'null'}}, 'plain_language': {'not': {'type': 'null'}}, 'prior_kill_rate': {'not': {'type': 'null'}}, 'family_published': {'const': True}, 'top_kill_reasons': {'not': {'type': 'null'}}, 'collision_warning': {'not': {'type': 'null'}}, 'crowd_prior_n_trials': {'not': {'type': 'null'}}}}, {'not': {'anyOf': [{'required': ['fallback_level']}, {'required': ['fallback_stats']}, {'required': ['reason']}, {'required': ['family_stats']}, {'required': ['prior_kill_rate']}, {'required': ['crowd_prior_n_trials']}, {'required': ['top_kill_reasons']}, {'required': ['plain_language']}, {'required': ['collision_warning']}]}, 'required': ['note'], 'properties': {'note': {'not': {'type': 'null'}}, 'family_published': {'const': False}}}, {'not': {'anyOf': [{'required': ['note']}, {'required': ['family_stats']}, {'required': ['prior_kill_rate']}, {'required': ['crowd_prior_n_trials']}, {'required': ['top_kill_reasons']}, {'required': ['plain_language']}]}, 'required': ['fallback_level', 'fallback_stats', 'reason', 'collision_warning'], 'properties': {'reason': {'not': {'type': 'null'}}, 'fallback_level': {'not': {'type': 'null'}}, 'fallback_stats': {'not': {'type': 'null'}}, 'family_published': {'const': False}, 'collision_warning': {'not': {'type': 'null'}}}}], 'required': ['_meta', 'fingerprint', 'family_published', 'disclaimer'], 'properties': {'note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'fingerprint': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'family_stats': {'anyOf': [{'$ref': '#/$defs/GraveyardFamilyStats'}, {'type': 'null'}], 'default': None}, 'fallback_level': {'anyOf': [{'$ref': '#/$defs/GraveyardFallbackLevel'}, {'type': 'null'}], 'default': None}, 'fallback_stats': {'anyOf': [{'$ref': '#/$defs/GraveyardFallbackStats'}, {'type': 'null'}], 'default': None}, 'plain_language': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'prior_kill_rate': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'family_published': {'type': 'boolean'}, 'top_kill_reasons': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/GraveyardKillReason'}, 'maxItems': 5}, {'type': 'null'}], 'default': None}, 'collision_warning': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'crowd_prior_n_trials': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['returns_matrix'], 'properties': {'purge': {'type': 'integer', 'default': 0, 'maximum': 5000, 'minimum': 0, 'description': 'Bars purged around each split to break serial-correlation leak.', 'x-strictJsonInteger': True}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'embargo': {'type': 'integer', 'default': 0, 'maximum': 5000, 'minimum': 0, 'description': 'Extra embargo bars after each test block.', 'x-strictJsonInteger': True}, 'n_groups': {'type': 'integer', 'default': 8, 'maximum': 16, 'minimum': 2, 'multipleOf': 2, 'description': 'Number of CSCV partitions (even; combinatorial in/out-of-sample splits).', 'x-strictJsonInteger': True}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'returns_matrix': {'type': 'array', 'items': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 64, 'minItems': 2}, 'maxItems': 5000, 'minItems': 2, 'description': 'T x N matrix: per-period returns for each of your N grid/sweep configurations -- the raw material for probability-of-backtest-overfitting (CSCV).'}, 'periods_per_year': {'gt': 0, 'le': 1000000, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}], 'default': 365.0, 'description': 'Annualisation factor for the reported Sharpes.'}}, 'x-relations': ['all returns_matrix rows have equal length'], 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'PboDegradation': {'type': 'object', 'required': ['slope', 'intercept', 'prob_oos_loss', 'n_pairs', 'interpretation'], 'properties': {'slope': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'n_pairs': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'intercept': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'prob_oos_loss': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'interpretation': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'PboStochasticDominance': {'type': 'object', 'required': ['first_order', 'max_cdf_gap_pool_over_selected', 'max_cdf_gap_selected_over_pool', 'n_selected', 'n_pool', 'interpretation'], 'properties': {'n_pool': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n_selected': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'first_order': {'enum': ['selected_dominates', 'pool_dominates', 'none'], 'type': 'string'}, 'interpretation': {'type': 'string', 'maxLength': 2000}, 'max_cdf_gap_pool_over_selected': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'max_cdf_gap_selected_over_pool': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['status'], 'properties': {'status': {'const': 'computed'}}}, 'then': {'required': ['overfit_flag', 'mean_logit', 'n_rows', 'n_configs', 'n_splits', 'n_evaluated_splits', 'n_blocked_splits', 'interpretation', 'degradation', 'stochastic_dominance'], 'properties': {'n_rows': {'not': {'type': 'null'}}, 'reason': {'type': 'null'}, 'n_splits': {'not': {'type': 'null'}}, 'n_configs': {'not': {'type': 'null'}}, 'mean_logit': {'not': {'type': 'null'}}, 'degradation': {'not': {'type': 'null'}}, 'overfit_flag': {'not': {'type': 'null'}}, 'interpretation': {'not': {'type': 'null'}}, 'n_blocked_splits': {'not': {'type': 'null'}}, 'n_evaluated_splits': {'not': {'type': 'null'}}, 'stochastic_dominance': {'not': {'type': 'null'}}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'blocked'}}}, 'then': {'required': ['reason'], 'properties': {'pbo': {'type': 'null'}, 'reason': {'not': {'type': 'null'}}, 'mean_logit': {'type': 'null'}, 'degradation': {'type': 'null'}, 'overfit_flag': {'type': 'null'}, 'interpretation': {'type': 'null'}, 'n_evaluated_splits': {'type': 'null'}, 'stochastic_dominance': {'type': 'null'}}}}], 'required': ['_meta', 'method', 'status', 'verdict', 'pbo', 'pbo_high_threshold', 'n_groups', 'purge', 'embargo', 'periods_per_year', 'died_at', 'died_at_plain', 'failure_codes', 'degradation', 'stochastic_dominance'], 'properties': {'pbo': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'purge': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'method': {'type': 'string', 'const': 'CSCV_combinatorial_pbo_purged_embargoed'}, 'n_rows': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'status': {'enum': ['blocked', 'computed'], 'type': 'string'}, 'died_at': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'embargo': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'verdict': {'enum': ['pass', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'n_groups': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n_splits': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'n_configs': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'mean_logit': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'degradation': {'anyOf': [{'$ref': '#/$defs/PboDegradation'}, {'type': 'null'}]}, 'overfit_flag': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'died_at_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'interpretation': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'n_blocked_splits': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'periods_per_year': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'n_evaluated_splits': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'pbo_high_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'stochastic_dominance': {'anyOf': [{'$ref': '#/$defs/PboStochasticDominance'}, {'type': 'null'}]}}, 'x-relations': ['n_evaluated_splits + n_blocked_splits == n_splits when status == computed'], 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'JsonValue': {'anyOf': [{'type': 'boolean'}, {'type': 'integer', 'maximum': 1000000000000000, 'minimum': -1000000000000000, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000, 'minimum': -1000000000000000}, {'type': 'string', 'maxLength': 262144, 'x-maxUtf8Bytes': 262144}, {'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 10000}, {'type': 'object', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, {'type': 'null'}], 'x-maxDepth': 16, 'x-maxNodes': 10000}}, 'properties': {'spec': {'$ref': '#/$defs/JsonValue', 'default': None, 'description': 'DSL strategy to lint for shape/DSL errors before you spend a check.'}, 'trades': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 10000}, {'type': 'null'}], 'default': None, 'description': 'Trade list to lint instead of a spec.'}, 'ohlcv_by_symbol': {'anyOf': [{'type': 'object', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/JsonValue'}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Candles per symbol to sanity-check (aligned, finite, positive).'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'PreflightChecked': {'type': 'object', 'required': ['spec', 'ohlcv_symbols', 'trades_rows'], 'properties': {'spec': {'type': 'boolean'}, 'trades_rows': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'ohlcv_symbols': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}}, 'additionalProperties': False}, 'PreflightFinding': {'type': 'object', 'required': ['code', 'level', 'detail'], 'properties': {'code': {'enum': ['dsl_invalid', 'timestamps_not_monotonic', 'ohlcv_non_finite_or_non_positive', 'ohlcv_series_misaligned', 'symbol_data_missing', 'trades_rows_invalid', 'sample_below_engine_floor'], 'type': 'string'}, 'level': {'enum': ['error', 'warn'], 'type': 'string'}, 'detail': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['ok'], 'properties': {'ok': {'const': True}}}, 'else': {'properties': {'findings': {'contains': {'type': 'object', 'required': ['level'], 'properties': {'code': {'type': 'string'}, 'level': {'const': 'error'}, 'detail': {'type': 'string'}}, 'additionalProperties': False}}}}, 'then': {'properties': {'findings': {'not': {'contains': {'type': 'object', 'required': ['level'], 'properties': {'code': {'type': 'string'}, 'level': {'const': 'error'}, 'detail': {'type': 'string'}}, 'additionalProperties': False}}}}}}], 'required': ['_meta', 'schema', 'ok', 'findings', 'checked', 'price_usd', 'note'], 'properties': {'ok': {'type': 'boolean'}, 'note': {'type': 'string', 'maxLength': 2000}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'schema': {'type': 'string', 'const': 'preflight.v1'}, 'checked': {'$ref': '#/$defs/PreflightChecked'}, 'findings': {'type': 'array', 'items': {'$ref': '#/$defs/PreflightFinding'}, 'maxItems': 10000}, 'price_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'ProviderTest': {'type': 'object', 'required': ['id', 'n', 'question', 'how_to_run', 'failure_condition', 'applies_to_alphaassay', 'automated_by'], 'properties': {'n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'question': {'type': 'string', 'maxLength': 2000}, 'how_to_run': {'type': 'string', 'maxLength': 2000}, 'automated_by': {'anyOf': [{'$ref': '#/$defs/ProviderAutomation'}, {'type': 'null'}]}, 'failure_condition': {'type': 'string', 'maxLength': 2000}, 'applies_to_alphaassay': {'type': 'boolean'}, 'run_against_alphaassay': {'anyOf': [{'$ref': '#/$defs/ProviderRunAgainst'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'ProviderAutomation': {'type': 'object', 'required': ['mcp', 'rest'], 'properties': {'mcp': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'rest': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'failure_code': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'ProviderRunAgainst': {'type': 'object', 'required': ['golden_specimens', 'offline_verify', 'calibration'], 'properties': {'calibration': {'type': 'string', 'maxLength': 2000}, 'offline_verify': {'type': 'string', 'maxLength': 2000}, 'golden_specimens': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'schema', 'title', 'source_url', 'principle', 'tests', 'agent_rules', 'applies_to_alphaassay', 'note', 'price_usd'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'tests': {'type': 'array', 'items': {'$ref': '#/$defs/ProviderTest'}, 'maxItems': 10000}, 'title': {'type': 'string', 'maxLength': 2000}, 'schema': {'type': 'string', 'const': 'provider_protocol.v1'}, 'price_usd': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'principle': {'type': 'string', 'maxLength': 2000}, 'source_url': {'type': 'string', 'maxLength': 2000}, 'agent_rules': {'type': 'string', 'maxLength': 2000}, 'applies_to_alphaassay': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'ConstNode': {'type': 'object', 'required': ['const'], 'properties': {'const': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'Hypothesis': {'type': 'object', 'required': ['declared_pass_sharpe_annualized', 'max_evaluation_bars'], 'properties': {'rationale': {'type': 'string', 'default': '', 'maxLength': 2000}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}], 'default': 10.0}, 'trading_calendar': {'enum': ['24/7', 'weekdays'], 'type': 'string', 'default': '24/7'}, 'max_evaluation_bars': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'x-strictJsonInteger': True}, 'declared_pass_sharpe_annualized': {'gt': 0, 'le': 20, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}]}}, 'additionalProperties': False}, 'SignalNode': {'type': 'object', 'oneOf': [{'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt']}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}]}}}, {'required': ['op', 'left', 'right'], 'properties': {'op': {'enum': ['and', 'or']}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'$ref': '#/$defs/SignalNode'}}}, {'required': ['op', 'left'], 'properties': {'op': {'const': 'not'}, 'left': {'$ref': '#/$defs/SignalNode'}, 'right': {'type': 'null'}}}], 'required': ['op', 'left'], 'properties': {'op': {'enum': ['cross_above', 'cross_below', 'gt', 'lt', 'and', 'or', 'not'], 'type': 'string'}, 'left': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}]}, 'right': {'anyOf': [{'$ref': '#/$defs/ConstNode'}, {'$ref': '#/$defs/IndicatorNode'}, {'$ref': '#/$defs/SignalNode'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'StrategySpec': {'type': 'object', 'required': ['dsl_version', 'asset_universe', 'bar_interval', 'target', 'signal'], 'properties': {'signal': {'$ref': '#/$defs/SignalNode', 'x-maxDepth': 16}, 'target': {'$ref': '#/$defs/StrategyTarget'}, 'position': {'anyOf': [{'$ref': '#/$defs/StrategyPosition'}, {'type': 'null'}], 'default': None}, 'dsl_version': {'type': 'string', 'const': '1'}, 'bar_interval': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'asset_universe': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, 'entry_lag_bars': {'type': 'integer', 'default': 1, 'maximum': 5000, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'IndicatorNode': {'type': 'object', 'oneOf': [{'required': ['indicator'], 'properties': {'window': {'type': 'null'}, 'indicator': {'const': 'price'}}}, {'required': ['indicator', 'window'], 'properties': {'source': {'type': 'null'}, 'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'const': 'atr'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 2, 'x-strictJsonInteger': True}, 'indicator': {'const': 'zscore'}}}, {'required': ['indicator', 'window'], 'properties': {'window': {'type': 'integer', 'minimum': 1, 'x-strictJsonInteger': True}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'roc']}}}], 'required': ['indicator'], 'properties': {'source': {'anyOf': [{'enum': ['open', 'high', 'low', 'close', 'volume'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'window': {'anyOf': [{'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'indicator': {'enum': ['sma', 'ema', 'rsi', 'atr', 'roc', 'zscore', 'price'], 'type': 'string'}}, 'additionalProperties': False}, 'StrategyTarget': {'type': 'object', 'required': ['kind', 'horizon_bars'], 'properties': {'kind': {'type': 'string', 'const': 'forward_return'}, 'horizon_bars': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'StrategyPosition': {'type': 'object', 'required': ['on_signal', 'else'], 'properties': {'else': {'type': 'string', 'const': 'flat'}, 'on_signal': {'type': 'string', 'const': 'long'}}, 'additionalProperties': False}}, 'required': ['spec'], 'properties': {'spec': {'$ref': '#/$defs/StrategySpec', 'description': 'DSL strategy whose canonical hash and terms are committed to tenant state now, before forward data, and queued for later daily operator-published Merkle inclusion. The return is not an inclusion proof or independent timestamp; that requires a separately pinned external anchor.'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'hypothesis': {'anyOf': [{'$ref': '#/$defs/Hypothesis'}, {'type': 'null'}], 'default': None, 'description': 'Your sealed success criteria (target metric, threshold, costs) so the later verdict cannot move the goalposts.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'embargo_bars': {'type': 'integer', 'default': 3, 'maximum': 10000, 'minimum': 0, 'description': 'Bars after registration to embargo before evaluation.', 'x-strictJsonInteger': True}, 'maturity_bars': {'type': 'integer', 'default': 30, 'maximum': 10000, 'minimum': 1, 'description': 'Bars of forward data required before assay_verdict may evaluate it (the maturity window).', 'x-strictJsonInteger': True}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'SealedHypothesis': {'type': 'object', 'required': ['declared_pass_sharpe_annualized', 'max_evaluation_bars', 'fee_bps_per_side', 'trading_calendar', 'rationale'], 'properties': {'rationale': {'type': 'string', 'maxLength': 2000}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}]}, 'trading_calendar': {'enum': ['24/7', 'weekdays'], 'type': 'string'}, 'max_evaluation_bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'declared_pass_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'prereg_id', 'family_id', 'spec_hash', 'anchor_hash', 'registered_at', 'evaluation_start_at', 'maturity_bars', 'engine_version', 'ledger_cumulative_n', 'created', 'disclaimer'], 'properties': {'note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'status': {'anyOf': [{'enum': ['registered', 'maturing', 'evaluated', 'withdrawn'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'created': {'type': 'boolean'}, 'family_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'prereg_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'spec_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'hypothesis': {'anyOf': [{'$ref': '#/$defs/SealedHypothesis'}, {'type': 'null'}], 'default': None}, 'anchor_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'maturity_bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'registered_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'hypothesis_hash': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'evaluation_start_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'ledger_cumulative_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'ExitOrder': {'type': 'object', 'required': ['stop_price', 'limit_price'], 'properties': {'stop_price': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'limit_price': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}}, 'additionalProperties': False}, 'OHLCVSeries': {'type': 'object', 'required': ['close'], 'properties': {'low': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'high': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'open': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'time': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'close': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, 'volume': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}}, 'x-relations': ['len(time|open|high|low|volume) == len(close) when present'], 'additionalProperties': False}, 'ClaimedMetrics': {'type': 'object', 'anyOf': [{'required': ['total_return_pct'], 'properties': {'total_return_pct': {'not': {'type': 'null'}}}}, {'required': ['max_drawdown_pct'], 'properties': {'max_drawdown_pct': {'not': {'type': 'null'}}}}, {'required': ['win_rate'], 'properties': {'win_rate': {'not': {'type': 'null'}}}}, {'required': ['n_trades'], 'properties': {'n_trades': {'not': {'type': 'null'}}}}, {'required': ['sharpe_annualized'], 'properties': {'sharpe_annualized': {'not': {'type': 'null'}}}}], 'properties': {'n_trades': {'anyOf': [{'type': 'integer', 'maximum': 10000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'win_rate': {'anyOf': [{'ge': 0, 'le': 1, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}]}, {'type': 'null'}], 'default': None}, 'max_drawdown_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'total_return_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'ReproduceTrade': {'type': 'object', 'required': ['symbol', 'side', 'entry_time', 'exit_time', 'entry_price', 'exit_price'], 'properties': {'side': {'enum': ['long', 'short'], 'type': 'string'}, 'symbol': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, 'exit_time': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'entry_time': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'exit_order': {'anyOf': [{'$ref': '#/$defs/ExitOrder'}, {'type': 'null'}], 'default': None}, 'exit_price': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'entry_price': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}}, 'additionalProperties': False}}, 'allOf': [{'required': ['trades', 'ohlcv_by_symbol', 'claimed'], 'properties': {'trades': {'not': {'type': 'null'}}, 'claimed': {'not': {'type': 'null'}}, 'ohlcv_by_symbol': {'not': {'type': 'null'}}}}], 'properties': {'trades': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/ReproduceTrade'}, 'maxItems': 10000, 'minItems': 1}, {'type': 'null'}], 'default': None, 'description': 'The claimed fills to audit: entry/exit time, price and side per trade -- checked arithmetically against the bars.'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'claimed': {'anyOf': [{'$ref': '#/$defs/ClaimedMetrics'}, {'type': 'null'}], 'default': None, 'description': 'The performance the seller claims (e.g. total return / Sharpe) so the audit can confirm or refute it.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'ohlcv_by_symbol': {'anyOf': [{'type': 'object', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/OHLCVSeries'}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Candles per symbol {symbol: {time,open,high,low,close,volume}} the trades were supposedly filled on -- used to catch fills outside the bar range.'}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}], 'default': 10.0, 'description': 'Round-trip cost in bps/side for the recomputation.'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'AuditFinding': {'type': 'object', 'required': ['code', 'severity', 'detail'], 'properties': {'code': {'type': 'string', 'maxLength': 2000}, 'detail': {'type': 'string', 'maxLength': 2000}, 'severity': {'enum': ['hard_fail', 'warn', 'info'], 'type': 'string'}}, 'additionalProperties': False}, 'FillAmbiguity': {'type': 'object', 'required': ['ambiguous_trades', 'haircut_pp', 'worst_case_total_return_pct', 'flips_sign'], 'properties': {'flips_sign': {'type': 'boolean'}, 'haircut_pp': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'ambiguous_trades': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'worst_case_total_return_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'MetricTolerance': {'type': 'object', 'required': ['abs_pp', 'rel'], 'properties': {'rel': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'abs_pp': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}}, 'additionalProperties': False}, 'MetricDivergence': {'type': 'object', 'required': ['claimed', 'reproduced', 'within_tolerance'], 'properties': {'note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'claimed': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'abs_diff': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'reproduced': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'within_tolerance': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'ReproducedMetrics': {'type': 'object', 'required': ['total_return_pct', 'max_drawdown_pct', 'win_rate', 'n_trades', 'sharpe_annualized'], 'properties': {'n_trades': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'win_rate': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'max_drawdown_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'total_return_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'ReproduceDivergence': {'type': 'object', 'properties': {'n_trades': {'anyOf': [{'$ref': '#/$defs/MetricDivergence'}, {'type': 'null'}], 'default': None}, 'win_rate': {'anyOf': [{'$ref': '#/$defs/MetricDivergence'}, {'type': 'null'}], 'default': None}, 'max_drawdown_pct': {'anyOf': [{'$ref': '#/$defs/MetricDivergence'}, {'type': 'null'}], 'default': None}, 'total_return_pct': {'anyOf': [{'$ref': '#/$defs/MetricDivergence'}, {'type': 'null'}], 'default': None}, 'sharpe_annualized': {'anyOf': [{'$ref': '#/$defs/MetricDivergence'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'ReproduceTolerances': {'type': 'object', 'required': ['total_return_pct', 'max_drawdown_pct', 'win_rate', 'n_trades', 'sharpe_annualized'], 'properties': {'n_trades': {'$ref': '#/$defs/MetricTolerance'}, 'win_rate': {'$ref': '#/$defs/MetricTolerance'}, 'max_drawdown_pct': {'$ref': '#/$defs/MetricTolerance'}, 'total_return_pct': {'$ref': '#/$defs/MetricTolerance'}, 'sharpe_annualized': {'$ref': '#/$defs/MetricTolerance'}}, 'additionalProperties': False}, 'ReproduceClaimedMetrics': {'type': 'object', 'properties': {'n_trades': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'win_rate': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'max_drawdown_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'total_return_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'ImplementationUncertainty': {'type': 'object', 'required': ['worst_case_total_return_pct', 'best_case_total_return_pct', 'engine_spread_pp', 'claimed_within_any_convention'], 'properties': {'engine_spread_pp': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'best_case_total_return_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'worst_case_total_return_pct': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'claimed_within_any_convention': {'type': 'boolean'}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'schema', 'verdict', 'reproduced', 'claimed', 'divergence', 'tolerances', 'findings', 'failure_codes', 'fill_ambiguity', 'implementation_uncertainty', 'n_trades', 'fee_bps_per_side', 'disclaimer'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'schema': {'type': 'string', 'const': 'reproduce.v1'}, 'claimed': {'$ref': '#/$defs/ReproduceClaimedMetrics'}, 'verdict': {'enum': ['reproduced', 'not_reproduced', 'insufficient_evidence'], 'type': 'string'}, 'findings': {'type': 'array', 'items': {'$ref': '#/$defs/AuditFinding'}, 'maxItems': 10000}, 'n_trades': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'divergence': {'$ref': '#/$defs/ReproduceDivergence'}, 'reproduced': {'$ref': '#/$defs/ReproducedMetrics'}, 'tolerances': {'$ref': '#/$defs/ReproduceTolerances'}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'fill_ambiguity': {'anyOf': [{'$ref': '#/$defs/FillAmbiguity'}, {'type': 'null'}]}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'implementation_uncertainty': {'anyOf': [{'$ref': '#/$defs/ImplementationUncertainty'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'JsonValue': {'anyOf': [{'type': 'boolean'}, {'type': 'integer', 'maximum': 1000000000000000, 'minimum': -1000000000000000, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000, 'minimum': -1000000000000000}, {'type': 'string', 'maxLength': 262144, 'x-maxUtf8Bytes': 262144}, {'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 10000}, {'type': 'object', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, {'type': 'null'}], 'x-maxDepth': 16, 'x-maxNodes': 10000}, 'PitEvidence': {'type': 'object', 'properties': {'top_k': {'anyOf': [{'type': 'integer', 'maximum': 1000000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'detail': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'status': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'verdict': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'top_flip': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'min_tickers': {'anyOf': [{'type': 'integer', 'maximum': 1000000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'power_alpha': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'spearman_rho': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}, {'type': 'null'}], 'default': None}, 'pit_rank_top_k': {'anyOf': [{'type': 'integer', 'maximum': 1000000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'pit_rank_reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'pit_rank_top_pit': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'pit_rank_top_flip': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'ticker_flip_count': {'anyOf': [{'type': 'integer', 'maximum': 1000000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'matched_null_min_p': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'pit_rank_n_tickers': {'anyOf': [{'type': 'integer', 'maximum': 1000000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'pit_rank_min_tickers': {'anyOf': [{'type': 'integer', 'maximum': 1000000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'pit_rank_power_alpha': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'pit_rank_spearman_rho': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}, {'type': 'null'}], 'default': None}, 'pit_rank_underpowered': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'pit_rank_rho_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}, {'type': 'null'}], 'default': None}, 'pit_rank_top_same_session': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'pit_rank_ticker_flip_count': {'anyOf': [{'type': 'integer', 'maximum': 1000000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'pit_rank_consistency_status': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'pit_rank_matched_null_floor': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'pit_rank_matched_null_min_p': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}], 'default': None}, 'pit_rank_consistency_verdict': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'pit_oi_rank_consistency_verdict': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}}, 'x-relations': ['pit_rank_top_k <= pit_rank_n_tickers', 'pit_rank_ticker_flip_count <= pit_rank_top_k', 'ticker_flip_count <= top_k'], 'additionalProperties': False}, 'SourceRightsEvidence': {'type': 'object', 'properties': {'detail': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'status': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'verdict': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'source_rights_clean': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}}, 'properties': {'label': {'type': 'string', 'default': 'user_strategy', 'maxLength': 256, 'description': 'Optional human label for the run (echoed back, not scored).'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'n_trials': {'anyOf': [{'type': 'integer', 'maximum': 1000000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None, 'description': 'How many strategy variants you tried before this one (grid size / optimisation attempts). Drives the deflated-Sharpe multiple-testing correction -- under-reporting it inflates your own verdict.'}, 'equity_csv': {'type': 'string', 'default': '', 'maxLength': 5242880, 'description': 'Equity-curve CSV (timestamp,equity) as an alternative to trades_csv; per-period returns are derived from it.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'trades_csv': {'type': 'string', 'default': '', 'maxLength': 5242880, 'description': 'Your realised trade log as CSV (pnl and/or return_pct per closed trade) -- the track record to put on trial for overfitting and luck.'}, 'signals_csv': {'type': 'string', 'default': '', 'maxLength': 5242880, 'description': 'Signal/position CSV if you have entries rather than realised pnl; converted to returns before grading.'}, 'pit_evidence': {'anyOf': [{'$ref': '#/$defs/PitEvidence'}, {'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None, 'description': 'Optional point-in-time / look-ahead attestation object; can only demote (flag pit_lookahead), never improve the verdict.'}, 'out_of_sample': {'anyOf': [{'type': 'boolean'}, {'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None, 'description': 'True if the track record is genuine out-of-sample / walk-forward, not the in-sample fit.'}, 'source_rights': {'anyOf': [{'$ref': '#/$defs/SourceRightsEvidence'}, {'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None, 'description': 'Optional data-rights / provenance disclosure for the track record (licensing, vendor).'}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}], 'default': 10.0, 'description': 'Round-trip cost assumption in basis points per side (slippage + commission) for the net-of-cost reality check.'}, 'quantconnect_json': {'anyOf': [{'type': 'string', 'maxLength': 5242880}, {'type': 'object', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, {'type': 'null'}], 'default': None, 'description': 'Optional QuantConnect backtest export; parsed into trades/returns automatically.'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'Explanation': {'type': 'object', 'required': ['schema_version', 'research_only', 'tool', 'tool_version', 'verdict', 'agent_action', 'summary', 'provenance_attestation', 'leakage_taxonomy', 'blocking_findings', 'explanations', 'next_actions'], 'properties': {'tool': {'type': 'string', 'const': 'explain_backtest_failure'}, 'summary': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['pass', 'conditional', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'agent_action': {'enum': ['continue_due_diligence', 'require_additional_validation', 'gather_more_evidence', 'reject_current_evidence', 'owner_data_decision_required'], 'type': 'string'}, 'explanations': {'type': 'array', 'items': {'$ref': '#/$defs/ExplanationFinding'}, 'maxItems': 10000}, 'next_actions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'tool_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'research_only': {'type': 'boolean', 'const': True}, 'schema_version': {'type': 'string', 'const': '0'}, 'leakage_taxonomy': {'$ref': '#/$defs/LeakageTaxonomy'}, 'blocking_findings': {'type': 'array', 'items': {'enum': ['data_rights', 'pit_lookahead', 'survivorship', 'selection_multiple_testing', 'effective_n', 'oos_walk_forward', 'cpcv', 'costs_slippage_capacity', 'pbo_dsr_overfit', 'null_placebo', 'regime', 'execution', 'reproducibility', 'benchmark_overlap'], 'type': 'string'}, 'maxItems': 10000}, 'provenance_attestation': {'$ref': '#/$defs/ExplanationProvenance'}}, 'additionalProperties': False}, 'VerdictFinding': {'type': 'object', 'required': ['failure_class', 'severity', 'detail'], 'properties': {'detail': {'type': 'string', 'maxLength': 2000}, 'severity': {'enum': ['hard_fail', 'cap_verdict', 'major_penalty', 'minor_penalty', 'trust_gate'], 'type': 'string'}, 'failure_class': {'enum': ['data_rights', 'pit_lookahead', 'survivorship', 'selection_multiple_testing', 'effective_n', 'oos_walk_forward', 'cpcv', 'costs_slippage_capacity', 'pbo_dsr_overfit', 'null_placebo', 'regime', 'execution', 'reproducibility', 'benchmark_overlap'], 'type': 'string'}}, 'additionalProperties': False}, 'LeakageTaxonomy': {'type': 'object', 'required': ['classes', 'label', 'detail'], 'properties': {'label': {'enum': ['clean', 'class_I', 'class_II', 'class_III', 'multiple_leakage_classes'], 'type': 'string'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'classes': {'type': 'array', 'items': {'enum': ['I', 'II', 'III'], 'type': 'string'}, 'maxItems': 3}}, 'additionalProperties': False}, 'VerdictEnvelope': {'type': 'object', 'required': ['schema_version', 'verdict', 'agent_action', 'findings', 'reproducible', 'leakage_taxonomy', 'provenance'], 'properties': {'verdict': {'enum': ['pass', 'conditional', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'findings': {'type': 'array', 'items': {'$ref': '#/$defs/VerdictFinding'}, 'maxItems': 10000}, 'provenance': {'$ref': '#/$defs/VerdictProvenance'}, 'agent_action': {'enum': ['continue_due_diligence', 'require_additional_validation', 'gather_more_evidence', 'reject_current_evidence', 'owner_data_decision_required'], 'type': 'string'}, 'reproducible': {'type': 'boolean'}, 'schema_version': {'type': 'string', 'const': '0'}, 'leakage_taxonomy': {'$ref': '#/$defs/LeakageTaxonomy'}, 'benchmark_overlap': {'anyOf': [{'$ref': '#/$defs/BenchmarkUnavailable'}, {'$ref': '#/$defs/BenchmarkComputed'}, {'type': 'null'}], 'default': None}, 'leakage_attribution': {'anyOf': [{'$ref': '#/$defs/LeakageAttribution'}, {'type': 'null'}], 'default': None}, 'reproducibility_readiness': {'anyOf': [{'$ref': '#/$defs/ReproducibilityReadiness'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'BenchmarkComputed': {'type': 'object', 'required': ['status', 'n_observations', 'beta', 'alpha_per_obs', 'alpha_tstat', 'alpha_pvalue', 'alpha_significant', 'correlation', 'tracking_error_per_obs', 'failure_codes'], 'properties': {'beta': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'status': {'type': 'string', 'const': 'computed'}, 'alpha_tstat': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'correlation': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}]}, 'alpha_pvalue': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'alpha_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'n_observations': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'alpha_significant': {'type': 'boolean'}, 'tracking_error_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}}, 'additionalProperties': False}, 'VerdictProvenance': {'type': 'object', 'required': ['tool', 'tool_version', 'schema_ref', 'schema_version', 'inputs_hash', 'generated_at', 'evidence_refs', 'check_refs'], 'properties': {'tool': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'check_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'schema_ref': {'type': 'string', 'maxLength': 2000}, 'inputs_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'generated_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'request_hash': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'tool_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'evidence_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'schema_version': {'type': 'string', 'const': '0'}}, 'additionalProperties': False}, 'ExplanationFinding': {'type': 'object', 'required': ['failure_class', 'severity', 'detail', 'what_it_means', 'evidence_to_lift'], 'properties': {'detail': {'type': 'string', 'maxLength': 2000}, 'severity': {'enum': ['hard_fail', 'cap_verdict', 'major_penalty', 'minor_penalty', 'trust_gate'], 'type': 'string'}, 'failure_class': {'enum': ['data_rights', 'pit_lookahead', 'survivorship', 'selection_multiple_testing', 'effective_n', 'oos_walk_forward', 'cpcv', 'costs_slippage_capacity', 'pbo_dsr_overfit', 'null_placebo', 'regime', 'execution', 'reproducibility', 'benchmark_overlap'], 'type': 'string'}, 'what_it_means': {'type': 'string', 'maxLength': 2000}, 'evidence_to_lift': {'type': 'string', 'maxLength': 2000}}, 'additionalProperties': False}, 'LeakageAttribution': {'type': 'object', 'required': ['label', 'attributions', 'detail'], 'properties': {'label': {'enum': ['clean', 'attributed'], 'type': 'string'}, 'detail': {'type': 'string', 'maxLength': 2000}, 'attributions': {'type': 'array', 'items': {'$ref': '#/$defs/LeakageAttributionEntry'}, 'maxItems': 10000}}, 'additionalProperties': False}, 'BenchmarkUnavailable': {'type': 'object', 'required': ['status', 'note', 'failure_codes'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'status': {'enum': ['benchmark_not_supplied', 'invalid_benchmark'], 'type': 'string'}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}}, 'additionalProperties': False}, 'ExplanationProvenance': {'type': 'object', 'required': ['source_tool', 'source_tool_version', 'schema_ref', 'schema_version', 'inputs_hash', 'request_hash', 'generated_at', 'evidence_refs', 'check_refs'], 'properties': {'check_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'schema_ref': {'type': 'string', 'maxLength': 2000}, 'inputs_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_tool': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'generated_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'request_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'evidence_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'schema_version': {'type': 'string', 'const': '0'}, 'source_tool_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}}, 'additionalProperties': False}, 'LeakageAttributionEntry': {'type': 'object', 'required': ['leakage_class', 'failure_class', 'severity', 'source'], 'properties': {'source': {'enum': ['finding', 'execution_attestation'], 'type': 'string'}, 'severity': {'enum': ['hard_fail', 'cap_verdict', 'major_penalty', 'minor_penalty', 'trust_gate'], 'type': 'string'}, 'failure_class': {'enum': ['data_rights', 'pit_lookahead', 'survivorship', 'selection_multiple_testing', 'effective_n', 'oos_walk_forward', 'cpcv', 'costs_slippage_capacity', 'pbo_dsr_overfit', 'null_placebo', 'regime', 'execution', 'reproducibility', 'benchmark_overlap'], 'type': 'string'}, 'leakage_class': {'enum': ['I', 'II', 'III'], 'type': 'string'}}, 'additionalProperties': False}, 'ReproducibilityReadiness': {'type': 'object', 'required': ['tier', 'label', 'severity', 'present', 'missing', 'cap_reason', 'detail'], 'properties': {'tier': {'enum': ['R0', 'R1', 'R2', 'R3'], 'type': 'string'}, 'label': {'type': 'string', 'maxLength': 2000}, 'detail': {'type': 'string', 'maxLength': 2000}, 'missing': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'present': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'severity': {'type': 'string', 'const': 'trust_gate'}, 'cap_reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'verdict', 'explanation'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'verdict': {'$ref': '#/$defs/VerdictEnvelope'}, 'explanation': {'$ref': '#/$defs/Explanation'}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {'alpha': {'gt': 0, 'lt': 1, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}], 'default': 0.05, 'description': 'Family-wise error rate to control (e.g. 0.05).'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'n_bootstrap': {'type': 'integer', 'default': 500, 'maximum': 2000, 'minimum': 200, 'description': 'Bootstrap resamples for the stepwise multiple test.', 'x-strictJsonInteger': True}, 'block_length': {'anyOf': [{'type': 'integer', 'maximum': 5000, 'minimum': 1, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None, 'description': 'Stationary-bootstrap block length (bars) to preserve serial correlation.'}, 'returns_matrix': {'anyOf': [{'type': 'array', 'items': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 64, 'minItems': 2}, 'maxItems': 5000, 'minItems': 2}, {'type': 'null'}], 'default': None, 'description': 'The same T x N trial matrix assay_pbo grades (rows = periods, columns = strategies) -- here for FWER survivor analysis: which survive multiple-testing.'}, 'periods_per_year': {'gt': 0, 'le': 1000000, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}], 'default': 365.0, 'description': 'Annualisation factor for reporting.'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'KilledCount': {'type': 'object', 'required': ['count'], 'properties': {'count': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'SurvivorSet': {'type': 'object', 'required': ['count', 'indices'], 'properties': {'count': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'indices': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'maxItems': 10000}}, 'additionalProperties': False}, 'SurvivorConfig': {'type': 'object', 'required': ['index', 'assessable', 'mean_per_period', 't_stat', 'survived_fwer', 'rejected_in_round'], 'properties': {'index': {'type': 'integer', 'minimum': 0, 'exclusiveMaximum': 10000, 'x-strictJsonInteger': True}, 't_stat': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'assessable': {'type': 'boolean'}, 'survived_fwer': {'type': 'boolean'}, 'mean_per_period': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'rejected_in_round': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['status'], 'properties': {'status': {'const': 'computed'}}}, 'then': {'required': ['per_config', 'survivors', 'killed', 'critical_values_by_round', 'n_rows', 'n_configs'], 'properties': {'killed': {'not': {'type': 'null'}}, 'n_rows': {'not': {'type': 'null'}}, 'reason': {'type': 'null'}, 'n_configs': {'not': {'type': 'null'}}, 'survivors': {'not': {'type': 'null'}}, 'per_config': {'not': {'type': 'null'}}, 'critical_values_by_round': {'not': {'type': 'null'}}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'blocked'}}}, 'then': {'required': ['reason'], 'properties': {'killed': {'type': 'null'}, 'n_rows': {'type': 'null'}, 'reason': {'not': {'type': 'null'}}, 'n_configs': {'type': 'null'}, 'survivors': {'type': 'null'}, 'per_config': {'type': 'null'}, 'critical_values_by_round': {'type': 'null'}}}}], 'required': ['_meta', 'method', 'status', 'verdict', 'alpha', 'n_bootstrap', 'block_length', 'periods_per_year', 'reason', 'per_config', 'survivors', 'killed', 'critical_values_by_round', 'framing', 'disclaimer', 'died_at', 'died_at_plain', 'failure_codes'], 'properties': {'_meta': {'$ref': '#/$defs/PublicMeta'}, 'alpha': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'killed': {'anyOf': [{'$ref': '#/$defs/KilledCount'}, {'type': 'null'}]}, 'method': {'type': 'string', 'const': 'romano_wolf_stepm_circular_block_bootstrap_studentized'}, 'n_rows': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'status': {'enum': ['blocked', 'computed'], 'type': 'string'}, 'died_at': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'framing': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['conditional', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'n_configs': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'survivors': {'anyOf': [{'$ref': '#/$defs/SurvivorSet'}, {'type': 'null'}]}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'per_config': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/SurvivorConfig'}, 'maxItems': 10000}, {'type': 'null'}]}, 'n_bootstrap': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'block_length': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'died_at_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'periods_per_year': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'critical_values_by_round': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 10000}, {'type': 'null'}]}}, 'x-relations': ['len(per_config) == n_configs when status == computed', 'per_config indices are unique and equal range(n_configs) when status == computed', 'survivors.count == len(survivors.indices) when status == computed', 'survivors.indices are unique and a subset of per_config indices when status == computed', 'survivors.count + killed.count == n_configs when status == computed'], 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'JsonValue': {'anyOf': [{'type': 'boolean'}, {'type': 'integer', 'maximum': 1000000000000000, 'minimum': -1000000000000000, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000, 'minimum': -1000000000000000}, {'type': 'string', 'maxLength': 262144, 'x-maxUtf8Bytes': 262144}, {'type': 'array', 'items': {'$ref': '#/$defs/JsonValue'}, 'maxItems': 10000}, {'type': 'object', 'maxProperties': 256, 'propertyNames': {'maxLength': 256, 'x-maxUtf8Bytes': 256}, 'additionalProperties': {'$ref': '#/$defs/JsonValue'}}, {'type': 'null'}], 'x-maxDepth': 16, 'x-maxNodes': 10000}, 'TradeLogRow': {'type': 'object', 'properties': {'pnl': {'$ref': '#/$defs/JsonValue', 'default': None}, 'side': {'anyOf': [{'enum': ['long', 'short'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'symbol': {'anyOf': [{'type': 'string', 'pattern': '^\\S+$', 'maxLength': 64, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'exit_time': {'$ref': '#/$defs/JsonValue', 'default': None}, 'entry_time': {'$ref': '#/$defs/JsonValue', 'default': None}, 'exit_price': {'$ref': '#/$defs/JsonValue', 'default': None}, 'return_pct': {'$ref': '#/$defs/JsonValue', 'default': None}, 'entry_price': {'$ref': '#/$defs/JsonValue', 'default': None}, 'decision_time': {'$ref': '#/$defs/JsonValue', 'default': None}}, 'additionalProperties': False}}, 'allOf': [{'required': ['trades'], 'properties': {'trades': {'not': {'type': 'null'}}}}], 'properties': {'trades': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/TradeLogRow'}, 'maxItems': 10000, 'minItems': 1}, {'type': 'null'}], 'default': None, 'description': "Raw trade/fill rows to scan for defects: look-ahead timestamps, pnl or return contradicting the row's own prices, duplicate or out-of-order fills."}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'trading_calendar': {'enum': ['24/7', 'weekdays'], 'type': 'string', 'default': '24/7', 'description': "Supported market-calendar literal: '24/7' for continuous markets or 'weekdays' for a Monday-Friday calendar."}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'TradelogDefect': {'type': 'object', 'required': ['code', 'severity', 'rows', 'n_rows', 'detail'], 'properties': {'code': {'enum': ['tradelog_duplicate_fills', 'tradelog_time_travel', 'tradelog_pnl_inconsistent', 'tradelog_timestamps_invalid', 'tradelog_outside_calendar'], 'type': 'string'}, 'rows': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'maxItems': 10000}, 'detail': {'type': 'string', 'maxLength': 2000}, 'n_rows': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'severity': {'type': 'string', 'const': 'hard_fail'}}, 'additionalProperties': False}, 'TradelogChecksRun': {'type': 'object', 'required': ['timestamps', 'time_travel', 'duplicates', 'pnl_consistency', 'calendar'], 'properties': {'calendar': {'type': 'boolean'}, 'duplicates': {'type': 'boolean'}, 'timestamps': {'type': 'boolean'}, 'time_travel': {'type': 'boolean'}, 'pnl_consistency': {'type': 'boolean'}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['_meta', 'schema', 'verdict', 'checks_run', 'defects', 'failure_codes', 'framing', 'n_trades', 'trading_calendar', 'disclaimer', 'died_at', 'died_at_plain'], 'properties': {'note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'schema': {'type': 'string', 'const': 'tradelog.v1'}, 'defects': {'type': 'array', 'items': {'$ref': '#/$defs/TradelogDefect'}, 'maxItems': 10000}, 'died_at': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'framing': {'type': 'string', 'maxLength': 2000}, 'verdict': {'enum': ['conditional', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'n_trades': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'checks_run': {'$ref': '#/$defs/TradelogChecksRun'}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'died_at_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'trading_calendar': {'enum': ['24/7', 'weekdays'], 'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'allOf': [{'if': {'required': ['benchmark_es_forecasts'], 'properties': {'benchmark_es_forecasts': {'not': {'type': 'null'}}}}, 'then': {'required': ['es_forecasts', 'benchmark_var_forecasts'], 'properties': {'es_forecasts': {'not': {'type': 'null'}}, 'benchmark_var_forecasts': {'not': {'type': 'null'}}}}}], 'required': ['returns', 'var_forecasts'], 'properties': {'alpha': {'ge': 0.001, 'le': 0.25, 'anyOf': [{'type': 'integer', 'x-strictJsonInteger': True}, {'type': 'number'}], 'default': 0.05, 'description': 'Tail level, e.g. 0.05 for a 95% VaR (0.001-0.25). Sets the Basel traffic-light expectation.'}, 'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'returns': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 100000, 'minItems': 1, 'description': 'Realised per-period returns (the outcomes your risk model was forecasting for).'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'es_forecasts': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 100000, 'minItems': 1}, {'type': 'null'}], 'default': None, 'description': 'Optional matching expected-shortfall forecasts; enables the joint (VaR, ES) e-process tail test.'}, 'var_forecasts': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 100000, 'minItems': 1, 'description': "Your model's ex-ante VaR forecasts (positive loss thresholds at level alpha) to backtest for breaches."}, 'benchmark_es_forecasts': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 100000, 'minItems': 1}, {'type': 'null'}], 'default': None, 'description': 'Optional benchmark ES forecasts; switches the EPA test to the joint FZ0 loss.'}, 'benchmark_var_forecasts': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 100000, 'minItems': 1}, {'type': 'null'}], 'default': None, 'description': 'Optional naive/benchmark VaR forecasts (e.g. a rolling historical quantile) for the Diebold-Mariano equal-predictive-ability test -- lose to it and the claim is demoted.'}}, 'x-relations': ['len(var_forecasts) == len(returns)', 'len(es_forecasts) == len(returns) when present', 'len(benchmark_var_forecasts) == len(returns) when present', 'len(benchmark_es_forecasts) == len(returns) when present', 'es_forecasts[i] > var_forecasts[i] when present', 'benchmark_es_forecasts[i] > benchmark_var_forecasts[i] when present'], 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'BreachCounts': {'type': 'object', 'required': ['observed', 'expected', 'rate_observed'], 'properties': {'expected': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'observed': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'rate_observed': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}}, 'additionalProperties': False}, 'KupiecResult': {'type': 'object', 'required': ['lr', 'p'], 'properties': {'p': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'lr': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'ZoneThresholds': {'type': 'object', 'required': ['yellow_at_cumulative_prob', 'red_at_cumulative_prob'], 'properties': {'red_at_cumulative_prob': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'yellow_at_cumulative_prob': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}}, 'additionalProperties': False}, 'EsBacktestResult': {'type': 'object', 'required': ['supplied', 'lambda_grid', 'e_value', 'log10_e_value', 'e_kill_threshold', 'e_advisory_threshold'], 'properties': {'e_value': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'supplied': {'type': 'boolean'}, 'lambda_grid': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'maxItems': 10000}, 'log10_e_value': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'e_kill_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'e_advisory_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'TrafficLightZone': {'type': 'object', 'required': ['zone', 'cumulative_prob', 'zone_thresholds'], 'properties': {'zone': {'enum': ['green', 'yellow', 'red'], 'type': 'string'}, 'cumulative_prob': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'zone_thresholds': {'$ref': '#/$defs/ZoneThresholds'}}, 'additionalProperties': False}, 'IndependenceResult': {'type': 'object', 'required': ['n00', 'n01', 'n10', 'n11', 'lr', 'p', 'max_run', 'advisory_p_threshold'], 'properties': {'p': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'lr': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'n00': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n01': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n10': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'n11': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'max_run': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'advisory_p_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}}, 'additionalProperties': False}, 'EqualPredictiveAbility': {'type': 'object', 'required': ['supplied', 'loss', 'mean_loss_candidate', 'mean_loss_benchmark', 'dm_stat', 'p_dominated', 'hac_lags', 'kill_p_threshold', 'advisory_p_threshold'], 'properties': {'loss': {'anyOf': [{'enum': ['fz0', 'quantile_tick'], 'type': 'string'}, {'type': 'null'}]}, 'dm_stat': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'hac_lags': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'supplied': {'type': 'boolean'}, 'p_dominated': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'kill_p_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'mean_loss_benchmark': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'mean_loss_candidate': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}, 'advisory_p_threshold': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'allOf': [{'if': {'required': ['status'], 'properties': {'status': {'const': 'computed'}}}, 'then': {'required': ['n', 'breaches', 'kupiec', 'independence', 'es', 'basel', 'epa', 'interpretation'], 'properties': {'n': {'not': {'type': 'null'}}, 'es': {'not': {'type': 'null'}}, 'epa': {'not': {'type': 'null'}}, 'basel': {'not': {'type': 'null'}}, 'kupiec': {'not': {'type': 'null'}}, 'reason': {'type': 'null'}, 'breaches': {'not': {'type': 'null'}}, 'independence': {'not': {'type': 'null'}}, 'interpretation': {'not': {'type': 'null'}}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'blocked'}}}, 'then': {'required': ['reason'], 'properties': {'es': {'type': 'null'}, 'epa': {'type': 'null'}, 'basel': {'type': 'null'}, 'kupiec': {'type': 'null'}, 'reason': {'not': {'type': 'null'}}, 'breaches': {'type': 'null'}, 'independence': {'type': 'null'}, 'interpretation': {'type': 'null'}}}}, {'if': {'required': ['status'], 'properties': {'status': {'const': 'computed'}}}, 'then': {'properties': {'n': {'minimum': 1}}}}], 'required': ['_meta', 'schema', 'method', 'status', 'verdict', 'n', 'alpha', 'died_at', 'died_at_plain', 'failure_codes', 'advisories'], 'properties': {'n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'es': {'anyOf': [{'$ref': '#/$defs/EsBacktestResult'}, {'type': 'null'}], 'default': None}, 'epa': {'anyOf': [{'$ref': '#/$defs/EqualPredictiveAbility'}, {'type': 'null'}], 'default': None}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'alpha': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'basel': {'anyOf': [{'$ref': '#/$defs/TrafficLightZone'}, {'type': 'null'}], 'default': None}, 'kupiec': {'anyOf': [{'$ref': '#/$defs/KupiecResult'}, {'type': 'null'}], 'default': None}, 'method': {'type': 'string', 'const': 'var_es_exceedance_backtest'}, 'reason': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'schema': {'type': 'string', 'const': 'var_es.v1'}, 'status': {'enum': ['blocked', 'computed'], 'type': 'string'}, 'died_at': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'verdict': {'enum': ['pass', 'fail', 'insufficient_evidence'], 'type': 'string'}, 'breaches': {'anyOf': [{'$ref': '#/$defs/BreachCounts'}, {'type': 'null'}], 'default': None}, 'advisories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'independence': {'anyOf': [{'$ref': '#/$defs/IndependenceResult'}, {'type': 'null'}], 'default': None}, 'died_at_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'failure_codes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, 'interpretation': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}}, 'x-relations': ['breaches.observed <= n when status == computed', 'breaches.rate_observed ~= breaches.observed / n when status == computed', 'independence.n00 + independence.n01 + independence.n10 + independence.n11 == n - 1 when status == computed'], 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$defs': {'OHLCVSeries': {'type': 'object', 'required': ['close'], 'properties': {'low': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'high': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'open': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'time': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}, 'close': {'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'exclusiveMinimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, 'volume': {'anyOf': [{'type': 'array', 'items': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'maxItems': 5000, 'minItems': 1}, {'type': 'null'}], 'default': None}}, 'x-relations': ['len(time|open|high|low|volume) == len(close) when present'], 'additionalProperties': False}}, 'required': ['prereg_id', 'ohlcv_by_symbol'], 'properties': {'api_key': {'type': 'string', 'default': '', 'maxLength': 512, 'description': '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.'}, 'prereg_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1, 'description': 'Id returned by assay_register; the verdict uses ONLY data from after that registration.'}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}], 'default': None, '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.'}, 'ohlcv_by_symbol': {'type': 'object', 'description': 'Post-registration candles per symbol to evaluate the sealed strategy on.', 'maxProperties': 50, 'propertyNames': {'maxLength': 64, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'$ref': '#/$defs/OHLCVSeries'}}, 'additionalProperties': False}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}, {'type': 'null'}], 'default': None, 'description': 'Round-trip cost in bps/side.'}, 'trading_calendar': {'anyOf': [{'enum': ['24/7', 'weekdays'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Market calendar for the instrument.'}}, 'x-maxBodyBytes': 5242880, 'additionalProperties': False}
输出模式
{'type': 'object', '$defs': {'EbComputed': {'type': 'object', 'required': ['status', 'family_t_stats_n', 'sigma_signal_sq', 'shrink_factor', 't_observed', 't_shrunk', 'sharpe_shrunk_per_obs', 'method', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'method': {'type': 'string', 'const': 'efron_morris_prior_zero'}, 'status': {'type': 'string', 'const': 'computed'}, 't_shrunk': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 't_observed': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'shrink_factor': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'sigma_signal_sq': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'family_t_stats_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'sharpe_shrunk_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'IntegerMap': {'type': 'object', 'description': 'Bounded runtime-keyed map of integer counts.', 'maxProperties': 256, 'propertyNames': {'maxLength': 128, 'minLength': 1}, 'patternProperties': {'^\\S+$': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'PublicMeta': {'type': 'object', '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'], 'properties': {'as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$', 'maxLength': 20, 'minLength': 20}, 'operation': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'request_id': {'anyOf': [{'type': 'string', 'maxLength': 256}, {'type': 'null'}]}, 'api_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'input_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'statefulness': {'enum': ['pure', 'public_read', 'tenant_read', 'tenant_write'], 'type': 'string'}, 'tenant_scope': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'request_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}, 'not_financial_advice': {'type': 'boolean', 'const': True}, 'tenant_scope_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'source_identity_digest': {'type': 'string', 'pattern': '^sha256:[0-9a-f]{64}$'}}, 'x-relations': ['as_of is a real UTC RFC3339 second'], 'additionalProperties': False}, 'EbInsufficient': {'type': 'object', 'required': ['status', 'family_t_stats_n', 'method', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'method': {'type': 'string', 'const': 'efron_morris_prior_zero'}, 'status': {'type': 'string', 'const': 'insufficient_family_history'}, 'family_t_stats_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}}, 'additionalProperties': False}, 'FamilyComputed': {'type': 'object', 'required': ['status', 'sharpe_per_obs', 'n_observations', 'skew', 'kurtosis', 'n_trials', 'variance_of_sharpe', 'expected_max_sharpe_null', 'psr_vs_zero', 'dsr', 'cumulative_n', 'global_family_n', 'variants_in_call', 'n_trials_effective', 'n_hat_ledger', 'effective_n_method', 'mean_correlation', 'overlap_warning', 'thresholds', 'killed_by', 'family_verdict', 'sketch_retained', 'eb_shrinkage', 'break_even_n', 'dsr_attribution', 'note'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'note': {'type': 'string', 'maxLength': 2000}, 'skew': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'status': {'type': 'string', 'const': 'computed'}, 'kurtosis': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'n_trials': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'killed_by': {'type': 'array', 'items': {'enum': ['evt_dsr', 'harvey_liu_bh'], 'type': 'string'}, 'maxItems': 2}, 'thresholds': {'$ref': '#/$defs/FamilyThresholds'}, 'psr_vs_zero': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'sketch_note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'break_even_n': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'cumulative_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'eb_shrinkage': {'oneOf': [{'$ref': '#/$defs/EbInsufficient'}, {'$ref': '#/$defs/EbComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/EbComputed', 'insufficient_family_history': '#/$defs/EbInsufficient'}, 'propertyName': 'status'}}, 'n_hat_ledger': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'family_verdict': {'enum': ['survives', 'deflated_out'], 'type': 'string'}, 'n_observations': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'sharpe_per_obs': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'dsr_attribution': {'oneOf': [{'$ref': '#/$defs/DsrAttributionUnavailable'}, {'$ref': '#/$defs/DsrAttributionComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/DsrAttributionComputed', 'not_computed': '#/$defs/DsrAttributionUnavailable'}, 'propertyName': 'status'}}, 'global_family_n': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'overlap_warning': {'type': 'boolean'}, 'sketch_retained': {'type': 'boolean'}, 'mean_correlation': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': -1, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': -1}, {'type': 'null'}]}, 'variants_in_call': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'effective_n_method': {'type': 'string', 'maxLength': 2000}, 'n_trials_effective': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'variance_of_sharpe': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': 0}]}, 'expected_max_sharpe_null': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'EvtDsrThreshold': {'type': 'object', 'required': ['dsr', 'min', 'survives'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'min': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'survives': {'type': 'boolean'}}, 'additionalProperties': False}, 'EvaluatedVerdict': {'type': 'object', 'required': ['verdict', 'engine_version', 'evaluation_start_at', 'window', 'fee_bps_per_side', 'family_deflated_verdict', 'disclaimer'], 'properties': {'window': {'$ref': '#/$defs/EvaluationWindow'}, 'verdict': {'type': 'string', 'const': 'evaluated'}, 'disclaimer': {'type': 'string', 'maxLength': 2000}, 'hypothesis': {'anyOf': [{'$ref': '#/$defs/EvaluatedHypothesis'}, {'type': 'null'}], 'default': None}, 'threshold_met': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'engine_version': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'goalpost_moved': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}]}, 'evaluation_start_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'goalpost_moved_plain': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'oos_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}, {'type': 'null'}], 'default': None}, 'goalpost_moved_reasons': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 2000}, 'maxItems': 10000}, {'type': 'null'}], 'default': None}, 'family_deflated_verdict': {'oneOf': [{'$ref': '#/$defs/FamilyNotComputed'}, {'$ref': '#/$defs/FamilyComputed'}], 'discriminator': {'mapping': {'computed': '#/$defs/FamilyComputed', 'not_computed': '#/$defs/FamilyNotComputed'}, 'propertyName': 'status'}}, 'window_capped_at_sealed_maximum': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}, 'EvaluationWindow': {'type': 'object', 'required': ['start', 'end', 'bars'], 'properties': {'end': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'start': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}, 'FamilyThresholds': {'type': 'object', 'required': ['evt_dsr', 'harvey_liu_bh'], 'properties': {'evt_dsr': {'$ref': '#/$defs/EvtDsrThreshold'}, 'harvey_liu_bh': {'$ref': '#/$defs/HarveyLiuThreshold'}}, 'additionalProperties': False}, 'FamilyNotComputed': {'type': 'object', 'required': ['status', 'reason'], 'properties': {'reason': {'type': 'string', 'maxLength': 2000}, 'status': {'type': 'string', 'const': 'not_computed'}}, 'additionalProperties': False}, 'HarveyLiuThreshold': {'type': 'object', 'required': ['p_single', 'p_adjusted', 'alpha', 'survives'], 'properties': {'alpha': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'p_single': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}, 'survives': {'type': 'boolean'}, 'p_adjusted': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'EvaluatedHypothesis': {'type': 'object', 'required': ['declared_pass_sharpe_annualized', 'max_evaluation_bars', 'fee_bps_per_side', 'trading_calendar', 'rationale', 'hypothesis_hash'], 'properties': {'rationale': {'type': 'string', 'maxLength': 2000}, 'hypothesis_hash': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'fee_bps_per_side': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000, 'minimum': 0}]}, 'trading_calendar': {'enum': ['24/7', 'weekdays'], 'type': 'string'}, 'max_evaluation_bars': {'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, 'declared_pass_sharpe_annualized': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}}, 'additionalProperties': False}, 'DsrAttributionComputed': {'type': 'object', 'required': ['status', 'base_psr_normal_no_selection', 'dsr', 'dsr_normal_tails', 'total_haircut', 'selection_haircut', 'non_normality_haircut', 'interaction', 'tipping_point_n_trials', 'verdict_would_flip_under_normal_tails', 'interpretation'], 'properties': {'dsr': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'status': {'type': 'string', 'const': 'computed'}, 'interaction': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'total_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'interpretation': {'type': 'string', 'maxLength': 2000}, 'dsr_normal_tails': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'selection_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'non_normality_haircut': {'anyOf': [{'type': 'integer', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1000000000000000.0, 'minimum': -1000000000000000.0}]}, 'tipping_point_n_trials': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}]}, 'base_psr_normal_no_selection': {'anyOf': [{'type': 'integer', 'maximum': 1, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'number', 'maximum': 1, 'minimum': 0}]}, 'verdict_would_flip_under_normal_tails': {'type': 'boolean'}}, 'additionalProperties': False}, 'DsrAttributionUnavailable': {'type': 'object', 'required': ['status', 'reason', 'dsr'], 'properties': {'dsr': {'type': 'null'}, 'reason': {'type': 'string', 'maxLength': 2000}, 'status': {'type': 'string', 'const': 'not_computed'}}, 'additionalProperties': False}}, 'required': ['result'], 'properties': {'result': {'type': 'object', 'oneOf': [{'not': {'anyOf': [{'required': ['detail']}, {'required': ['covered_bars']}, {'required': ['maturity_bars']}, {'required': ['gap_bars']}, {'required': ['gap_tolerance_bars']}, {'required': ['expected_bars']}]}, 'required': ['status', 'verdict'], 'properties': {'status': {'const': 'evaluated'}, 'verdict': {'$ref': '#/$defs/EvaluatedVerdict'}}}, {'not': {'anyOf': [{'required': ['verdict']}, {'required': ['detail']}, {'required': ['gap_bars']}, {'required': ['gap_tolerance_bars']}, {'required': ['expected_bars']}]}, 'required': ['status', 'covered_bars', 'maturity_bars'], 'properties': {'status': {'const': 'maturing'}, 'covered_bars': {'type': 'integer', 'x-strictJsonInteger': True}, 'maturity_bars': {'not': {'type': 'null'}}}}, {'not': {'anyOf': [{'required': ['gap_bars']}, {'required': ['gap_tolerance_bars']}, {'required': ['covered_bars']}, {'required': ['expected_bars']}, {'required': ['maturity_bars']}]}, 'required': ['status', 'verdict', 'detail'], 'properties': {'detail': {'not': {'type': 'null'}}, 'status': {'enum': ['registered', 'maturing']}, 'verdict': {'const': 'inconclusive_data_gap'}}}, {'not': {'anyOf': [{'required': ['detail']}, {'required': ['maturity_bars']}]}, 'required': ['status', 'verdict', 'gap_bars', 'gap_tolerance_bars', 'covered_bars', 'expected_bars'], 'properties': {'status': {'enum': ['registered', 'maturing']}, 'verdict': {'const': 'inconclusive_data_gap'}, 'gap_bars': {'not': {'type': 'null'}}, 'covered_bars': {'$ref': '#/$defs/IntegerMap'}, 'expected_bars': {'not': {'type': 'null'}}, 'gap_tolerance_bars': {'not': {'type': 'null'}}}}], 'required': ['_meta', 'prereg_id', 'status'], 'properties': {'note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, '_meta': {'$ref': '#/$defs/PublicMeta'}, 'detail': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'status': {'enum': ['registered', 'maturing', 'evaluated'], 'type': 'string'}, 'verdict': {'anyOf': [{'type': 'string', 'const': 'inconclusive_data_gap'}, {'$ref': '#/$defs/EvaluatedVerdict'}, {'type': 'null'}], 'default': None}, 'gap_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'prereg_id': {'type': 'string', 'pattern': '^\\S+$', 'maxLength': 256, 'minLength': 1}, 'covered_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'$ref': '#/$defs/IntegerMap'}, {'type': 'null'}], 'default': None}, 'expected_bars': {'anyOf': [{'$ref': '#/$defs/IntegerMap'}, {'type': 'null'}], 'default': None}, 'maturity_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}, 'gap_tolerance_bars': {'anyOf': [{'type': 'integer', 'maximum': 9223372036854775807, 'minimum': 0, 'x-strictJsonInteger': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}}, 'additionalProperties': False}
近期工具变更
类似的 MCP 服务器
AlpineDataWorks Intelligence Server
Provides economic, market, supply-chain, real-estate, energy, consumer, labor, and other scored intelligence indices with histori…
Stratalize Finance
Provides financial, macroeconomic, banking, credit, commodities, M&A, ESG, labor, and regulatory benchmarks for analysis and plan…
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
Provides point-in-time SEC EDGAR fundamentals, filings, ownership signals, financial analysis, valuation models, research reports…
equibles
Provides equity and market research tools covering SEC filings, company financials, portfolios, prices, options, macroeconomic da…
DFX Real Estate Intelligence
Provides US commercial real estate, parcel, debt maturity, bank CRE exposure, private capital, investor, ownership, occupancy, an…
simplefunctions
Provides prediction-market data, thesis analysis, market signals, portfolio tracking, and automated intent-based trading workflow…
EventTrader MCP
Provides prediction-market research and trading capabilities, including real-time event-market data, CLOB execution paths, fund i…
Signal8
Provides SEC filings, dilution data, insider and institutional ownership, and political-trade data.