{"id":"strategy-gatekeeper","card_id":"card_strategy_gatekeeper","name":"Strategy Gatekeeper","description":"Applies a composite advisory pass/reject gate using CI lower bounds, effect size, sample size, slippage improvement, and Holm/BH corrected p-values.","stage":1,"safety_level":"data_only_read_only","auth":{"type":"hmac-sha256","required_headers":["x-apex-tool-timestamp","x-apex-tool-nonce","x-apex-tool-content-sha256","x-apex-tool-signature"],"canonical_payload":"APEX-TOOL-V1\\n{tool_id}\\n{timestamp}\\n{nonce}\\n{sha256(canonical_json(body))}"},"permissionless":{"enabled":true,"tier":"bounded_public","rate_limit":"Shared 20 calls per IP per hour across permissionless bounded tools plus global agent-write protection","review_required":false,"note":"Anonymous bounded execution is allowed because this is a deterministic advisory gate over caller-supplied statistics. It never releases source, keys, orders, wallets, private balances, or raw datasets."},"input_schema":{"type":"object","required":["metric_ci_lower","metric_threshold","delta_sharpe","slippage_reduction_bps","p_values","sample_days","min_sample_days"],"properties":{"metric_ci_lower":{"type":"number"},"metric_threshold":{"type":"number"},"delta_sharpe":{"type":"number"},"slippage_reduction_bps":{"type":"number"},"min_delta_sharpe":{"type":"number","default":0.1,"description":"Optional effect-size threshold. Defaults to the source component convention: delta_sharpe >= 0.10."},"min_slippage_reduction_bps":{"type":"number","default":10,"description":"Optional effect-size threshold. Defaults to the source component convention: slippage_reduction_bps >= 10.0."},"p_values":{"type":"array","items":{"type":"number"},"minItems":1,"maxItems":100},"sample_days":{"type":"number"},"min_sample_days":{"type":"number"},"alpha":{"type":"number"},"multiple_testing_mode":{"type":"string","enum":["holm","benjamini-hochberg","bh"]}}},"output_schema":{"type":"object","properties":{"passed":{"type":"boolean"},"decision":{"type":"string"},"reasons":{"type":"array"},"corrected_p":{"type":"array"}}},"sample_input":{"metric_ci_lower":0.12,"metric_threshold":0.05,"delta_sharpe":0.18,"slippage_reduction_bps":4,"p_values":[0.01,0.02,0.04],"sample_days":90,"min_sample_days":30,"alpha":0.05,"multiple_testing_mode":"holm"},"test_vectors":[{"input":{"metric_ci_lower":0.12,"metric_threshold":0.05,"delta_sharpe":0.18,"slippage_reduction_bps":4,"p_values":[0.01,0.02,0.04],"sample_days":90,"min_sample_days":30,"alpha":0.05,"multiple_testing_mode":"holm"},"expected":{"result":{"schema":"apex-strategy-gatekeeper/1","passed":false,"decision":"REJECT","reasons":["effect_size_failed"],"corrected_p":[0.03,0.04,0.04]}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"},{"input":{"metric_ci_lower":0.12,"metric_threshold":0.05,"delta_sharpe":0.18,"slippage_reduction_bps":12,"p_values":[0.01,0.02,0.04],"sample_days":90,"min_sample_days":30,"alpha":0.05,"multiple_testing_mode":"holm"},"expected":{"result":{"schema":"apex-strategy-gatekeeper/1","passed":true,"decision":"PASS","reasons":["all gate checks passed"],"corrected_p":[0.03,0.04,0.04]}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"},{"input":{"metric_ci_lower":0.12,"metric_threshold":0.05,"delta_sharpe":0.05,"slippage_reduction_bps":12,"p_values":[0.01,0.02,0.04],"sample_days":90,"min_sample_days":30,"alpha":0.05,"multiple_testing_mode":"holm"},"expected":{"result":{"schema":"apex-strategy-gatekeeper/1","passed":false,"decision":"REJECT","reasons":["effect_size_failed"],"corrected_p":[0.03,0.04,0.04]}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"}]}