{"t": 1791406584.0047662, "tool": "tools/list", "ok": true, "err": null} {"t": 1791406735.298974, "tool": "validate_sandbox_strategy", "ok": false, "err": {"code": "SANDBOX_ARGUMENTS_INVALID", "details": {"expected": {"exclusiveMaximum": 10000, "minimum": 0, "type": "number"}, "field": "feeBps", "problem": "missing_field"}, "field": "feeBps", "message": "Required argument 'feeBps' is missing. Parser: missing field `feeBps`", "minimalExample": {"arguments": {"feeBps": 10, "script": "strategy \"SMA cross\" version 1.0\nasset: BTC\ntimeframe: 4h\ncapital: 10000\n\nentry:\n condition: SMA(20) crosses above SMA(100)\n size: 100%\n\nexit:\n stop_loss: 5%\n take_profit: 15%\nparams:\n fast: min=5 max=80 type=int default=20\n slow: min=40 max=400 type=int default=100\n stopLossPct: min=1 max=12 type=float default=5\n takeProfitPct: min=3 max=40 type=float default=15\n"}, "tool": "validate_sandbox_strategy"}, "missingFields": [{"expected": {"exclusiveMaximum": 10000, "minimum": 0, "type": "number"}, "field": "feeBps"}]}} {"t": 1791406749.2060704, "tool": "validate_sandbox_strategy", "ok": true, "err": null} {"t": 1791406759.53999, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406772.0824165, "tool": "validate_sandbox_strategy", "ok": true, "err": null} {"t": 1791406808.5472786, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406820.4138522, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406831.4716454, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406842.6618311, "tool": "validate_sandbox_strategy", "ok": true, "err": null} {"t": 1791406852.1097844, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406863.469099, "tool": "validate_sandbox_strategy", "ok": false, "err": {"code": "invalid_numeric_value", "extensionHint": "Use a documented CPU expression or extend the evaluator and this capability policy together; no template or scientific proof is required.", "field": "trailingStopPct", "line": null, "message": "Value must be finite and positive."}} {"t": 1791406872.7938242, "tool": "validate_sandbox_strategy", "ok": true, "err": null} {"t": 1791406890.3777952, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406906.2879515, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406921.8886225, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406938.6972065, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406960.6966932, "tool": "run_sandbox_sweep", "ok": true, "err": null} {"t": 1791406975.1789632, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791406983.2262797, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407001.180587, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407019.8033056, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407023.9925113, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407028.1432889, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407048.3777125, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407053.1197066, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407056.7678163, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407082.2893548, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407086.6133835, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407090.455529, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407103.2898407, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407112.3843124, "tool": "run_sandbox_sweep", "ok": false, "err": {"code": "SANDBOX_ARGUMENTS_INVALID", "details": {"expected": "one of asset, backend, datasetId, endIndexInclusive, executionPolicyId, executionSemantics, expectedDatasetFingerprintSha256, expectedScriptSha256, feeBps, fillModel, holdoutPercent, minTrades, paramSets, rankBy, saveResult, schema, script, shortMargin, slippageBps, spreadBps, startIndex, timeframe, topN, variants, warmupPolicy", "field": "holdout", "problem": "unknown_field"}, "didYouMean": {"holdout": "holdoutPercent", "parameterSets": "paramSets"}, "field": "holdout", "message": "Argument 'holdout' is not accepted by this tool; expected one of asset, backend, datasetId, endIndexInclusive, executionPolicyId, executionSemantics, expectedDatasetFingerprintSha256, expectedScriptSha256, feeBps, fillModel, holdoutPercent, minTrades, paramSets, rankBy, saveResult, schema, script, shortMargin, slippageBps, spreadBps, startIndex, timeframe, topN, variants, warmupPolicy. Parser: unknown field `holdout`, expected one of `schema`, `script`, `expectedScriptSha256`, `datasetId`, `expectedDatasetFingerprintSha256`, `asset`, `timeframe`, `startIndex`, `endIndexInclusive`, `feeBps`, `executionPolicyId`, `variants`, `paramSets`, `topN`, `rankBy`, `backend`, `holdoutPercent`, `minTrades`, `saveResult`, `warmupPolicy`, `executionSemantics`, `fillModel`, `slippageBps`, `spreadBps`, `shortMargin`", "minimalExample": {"arguments": {"datasetId": "ohlcv-sha256-9f8ce49cc04885b6", "feeBps": 10, "script": "strategy \"SMA cross\" version 1.0\nasset: BTC\ntimeframe: 4h\ncapital: 10000\n\nentry:\n condition: SMA(20) crosses above SMA(100)\n size: 100%\n\nexit:\n stop_loss: 5%\n take_profit: 15%\nparams:\n fast: min=5 max=80 type=int default=20\n slow: min=40 max=400 type=int default=100\n stopLossPct: min=1 max=12 type=float default=5\n takeProfitPct: min=3 max=40 type=float default=15\n", "variants": 2000}, "tool": "run_sandbox_sweep"}}} {"t": 1791407133.3569515, "tool": "run_sandbox_sweep", "ok": false, "err": {"code": "sandbox.preflight_failed", "details": {"code": "invalid_parameter_metadata", "extensionHint": "Use a documented CPU expression or extend the evaluator and this capability policy together; no template or scientific proof is required.", "field": "fast", "line": 7, "message": "Expected min=, max=, default= or type=."}, "field": "script", "message": "invalid_parameter_metadata: Expected min=, max=, default= or type=."}} {"t": 1791407141.6077468, "tool": "run_sandbox_sweep", "ok": false, "err": {"code": "sandbox.preflight_failed", "details": {"code": "unsupported_condition", "extensionHint": "Use a documented CPU expression or extend the evaluator and this capability policy together; no template or scientific proof is required.", "field": "entry[0]", "line": null, "message": "No supported complete CPU condition matches: sma(fast) > sma(slow) If this capability matters, call suggest_lab_capability.", "suggestTool": "suggest_lab_capability"}, "field": "script", "message": "unsupported_condition: No supported complete CPU condition matches: sma(fast) > sma(slow)"}} {"t": 1791407171.7844765, "tool": "run_sandbox_backtest", "ok": true, "err": null} {"t": 1791407190.8845947, "tool": "validate_sandbox_strategy", "ok": false, "err": {"code": "SANDBOX_ARGUMENTS_INVALID", "details": {"expected": {"exclusiveMaximum": 10000, "minimum": 0, "type": "number"}, "field": "feeBps", "problem": "missing_field"}, "field": "feeBps", "message": "Required argument 'feeBps' is missing. Parser: missing field `feeBps`", "minimalExample": {"arguments": {"feeBps": 10, "script": "strategy \"SMA cross\" version 1.0\nasset: BTC\ntimeframe: 4h\ncapital: 10000\n\nentry:\n condition: SMA(20) crosses above SMA(100)\n size: 100%\n\nexit:\n stop_loss: 5%\n take_profit: 15%\nparams:\n fast: min=5 max=80 type=int default=20\n slow: min=40 max=400 type=int default=100\n stopLossPct: min=1 max=12 type=float default=5\n takeProfitPct: min=3 max=40 type=float default=15\n"}, "tool": "validate_sandbox_strategy"}, "missingFields": [{"expected": {"exclusiveMaximum": 10000, "minimum": 0, "type": "number"}, "field": "feeBps"}]}} {"t": 1791407198.087519, "tool": "validate_sandbox_strategy", "ok": true, "err": null} {"t": 1791407211.4124906, "tool": "validate_sandbox_strategy", "ok": true, "err": null} {"t": 1791407219.40333, "tool": "validate_sandbox_strategy", "ok": true, "err": null}