{"runId":1,"strategyKey":"khan-saab-sniper-v02","artifacts":[{"filename":"manifest.json","contentType":"application/json","content":"{\n  \"runId\": 1,\n  \"strategyKey\": \"khan-saab-sniper-v02\",\n  \"strategyName\": \"KhanSaab Sniper Entry/Exit V.02\",\n  \"generatedAt\": \"2026-05-13T11:42:01.162Z\",\n  \"files\": [\n    \"summary.json\",\n    \"variant_rankings.csv\",\n    \"roll_audit.csv\"\n  ]\n}\n"},{"filename":"summary.json","contentType":"application/json","content":"{\n  \"generatedAt\": \"2026-05-13T11:42:01.162Z\",\n  \"run\": {\n    \"id\": 1,\n    \"status\": \"completed\",\n    \"timeframe\": \"5m\",\n    \"startedAt\": \"2026-05-08T01:48:52.211Z\",\n    \"completedAt\": \"2026-05-08T01:48:50.111Z\",\n    \"strategy\": {\n      \"id\": 1,\n      \"key\": \"khan-saab-sniper-v02\",\n      \"name\": \"KhanSaab Sniper Entry/Exit V.02\"\n    },\n    \"continuousBuild\": {\n      \"id\": 1,\n      \"root\": \"ES\",\n      \"rollMethod\": \"volume_confirmed_daily\",\n      \"adjustmentMethod\": \"raw_stitched\",\n      \"sourceContracts\": [\n        \"ESZ5\",\n        \"ESH6\",\n        \"ESM6\",\n        \"ESU6\"\n      ]\n    },\n    \"strategyParams\": {\n      \"atrPeriod\": 14,\n      \"atrMultiplier\": 1.5,\n      \"emaFastPeriod\": 9,\n      \"emaSlowPeriod\": 21,\n      \"targetMultiples\": [\n        1,\n        2,\n        3,\n        4,\n        5\n      ]\n    },\n    \"executionConfig\": {\n      \"exitTiming\": \"same_bar_close\",\n      \"entryTiming\": \"same_bar_close\"\n    },\n    \"costConfig\": {\n      \"contracts\": 1,\n      \"slippageTicksPerSide\": 1,\n      \"commissionPerContractPerSide\": 2.5\n    },\n    \"counts\": {\n      \"variants\": 8,\n      \"trades\": 9034,\n      \"rolls\": 2\n    }\n  },\n  \"topVariant\": {\n    \"id\": 1,\n    \"variantKey\": \"atr-stop-tp1\",\n    \"label\": \"ATR Stop + TP1\",\n    \"model\": \"atr_risk_reward\",\n    \"verdict\": \"reject\",\n    \"rank\": 1,\n    \"robustnessScore\": 73,\n    \"overallMetrics\": {\n      \"winRate\": 0.4815745393634841,\n      \"totalTrades\": 1194,\n      \"profitFactor\": 0.7747948635089467,\n      \"netPnlDollars\": -56187.85714285757,\n      \"grossLossDollars\": -249496.33928571493,\n      \"grossProfitDollars\": 193308.48214285733,\n      \"maxDrawdownDollars\": 59745.53571428615,\n      \"medianTradeDollars\": -138.48214285715585,\n      \"averageTradeDollars\": -47.05850681981371\n    },\n    \"warningSummary\": {\n      \"severityCounts\": {},\n      \"componentScores\": {\n        \"winRate\": 13,\n        \"tradeCount\": 20,\n        \"profitFactor\": 10,\n        \"warningPenalty\": 0,\n        \"pnlDistribution\": 30\n      }\n    }\n  },\n  \"variantCount\": 8,\n  \"rollCount\": 2\n}\n"},{"filename":"variant_rankings.csv","contentType":"text/csv","content":"rank,variantKey,label,verdict,robustnessScore,netPnlDollars,profitFactor\n1,atr-stop-tp1,ATR Stop + TP1,reject,73,-56187.85714285757,0.7747948635089467\n2,max-bars-10,Max Bars Held 10,reject,72,-31067.5,0.8627502954397358\n3,atr-stop-tp1-session-close,ATR Stop + TP1 + Session Close,reject,67,-56688.03571428593,0.7496941677202746\n4,opposite-signal-only,Opposite Signal Only,reject,61,-56997.5,0.8732325450794833\n5,atr-stop-tp3,ATR Stop + TP3,reject,60,-49778.03571428623,0.818221655761868\n6,atr-stop-tp2-session-close,ATR Stop + TP2 + Session Close,reject,60,-57558.928571428885,0.7755469966972326\n7,atr-stop-tp2,ATR Stop + TP2,reject,60,-57939.64285714336,0.7970943256051283\n8,max-bars-20,Max Bars Held 20,reject,45,972.5,1.0041083159073148\n"},{"filename":"roll_audit.csv","contentType":"text/csv","content":"sequence,fromContract,toContract,confirmationDate,rollTs,priceGap,oldContractVolume,newContractVolume,rule\n1,ESZ5,ESH6,2025-12-15,2025-12-16T00:00:00.000Z,57.75,585183,974607,daily_volume_crossover_next_bar\n2,ESH6,ESM6,2026-03-16,2026-03-17T00:00:00.000Z,50.5,761977,1043304,daily_volume_crossover_next_bar\n"}]}