{"abstract":"A bet without an edge reports a negative fraction or a negative stake.","category":"Betting odds conversion","checks":8,"contract":"Kelly staking. With b = price - 1, p = prob and q = 1 - p, the full Kelly fraction is (b * p - q) / b, floored at 0 when the edge is not positive. The stake is bankroll * min(full Kelly * fraction, max_pct / 100), rounded down to a cent. Return [full Kelly fraction rounded half up to four decimals as a string, stake cents].","evaluation_group":"w2-odds-conversion-kelly-stake-sizing","failed_approach":"Clamping only the stake still reports a negative Kelly fraction.","family":"w2-odds-conversion-kelly-stake-sizing-negative-edge-clamp","id":"FA-84561","implementations":{"attempt":{"sha256":"fb1e166c350ba9963a94dc4d7600137eec4f66e6577337f5dd5ed4741a6ebff0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nimport math\nN = 1\nobservations = []\ndef solve(prob, price, fraction, bankroll_cents, max_pct):\n    p = Fraction(prob)\n    b = Fraction(price) - 1\n    q = 1 - p\n    k = (b * p - q) / b\n    use = max(0, min(k * Fraction(fraction), Fraction(max_pct) / 100))\n    stake = math.floor(bankroll_cents * use)\n    r = math.floor(k * 10000 + Fraction(1, 2))\n    return ['%d.%04d' % (r // 10000, r % 10000), stake]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.55', '1.76', '0.5', 50000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.60', '2.27', '1', 100000, '10'), ['0.2850', 10000]),\n  ('variant scenario 2', ('0.55', '3.87', '0.25', 50000, '2'), ['0.3932', 1000])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.85', '1', 12345, '10'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.60', '3.34', '0.5', 50000, '10'), ['0.4291', 5000]),\n  ('variant scenario 2', ('0.55', '5.29', '0.25', 100000, '2'), ['0.4451', 2000])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.79', '0.25', 100000, '5'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.73', '4.25', '0.25', 12345, '100'), ['0.6469', 1996]),\n  ('variant scenario 2', ('0.50', '5.61', '0.25', 12345, '2'), ['0.3915', 246])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.43', '0.5', 50000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.55', '5.15', '0.5', 100000, '2'), ['0.4416', 2000]),\n  ('variant scenario 2', ('0.60', '4.44', '0.5', 100000, '100'), ['0.4837', 24186])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.63', '0.25', 100000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.39', '3.57', '1', 12345, '100'), ['0.1526', 1884]),\n  ('variant scenario 2', ('0.50', '4.50', '1', 50000, '2'), ['0.3571', 1000])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"b1c5286b37f993d45d714cba23467790057df419d24003288a9e4b525f581414","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nimport math\nN = 1\nobservations = []\ndef solve(prob, price, fraction, bankroll_cents, max_pct):\n    p = Fraction(prob)\n    b = Fraction(price) - 1\n    q = 1 - p\n    k = (b * p - q) / b\n    use = min(k * Fraction(fraction), Fraction(max_pct) / 100)\n    stake = math.floor(bankroll_cents * use)\n    r = math.floor(k * 10000 + Fraction(1, 2))\n    return ['%d.%04d' % (r // 10000, r % 10000), stake]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.55', '1.76', '0.5', 50000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.60', '2.27', '1', 100000, '10'), ['0.2850', 10000]),\n  ('variant scenario 2', ('0.55', '3.87', '0.25', 50000, '2'), ['0.3932', 1000])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.85', '1', 12345, '10'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.60', '3.34', '0.5', 50000, '10'), ['0.4291', 5000]),\n  ('variant scenario 2', ('0.55', '5.29', '0.25', 100000, '2'), ['0.4451', 2000])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.79', '0.25', 100000, '5'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.73', '4.25', '0.25', 12345, '100'), ['0.6469', 1996]),\n  ('variant scenario 2', ('0.50', '5.61', '0.25', 12345, '2'), ['0.3915', 246])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.43', '0.5', 50000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.55', '5.15', '0.5', 100000, '2'), ['0.4416', 2000]),\n  ('variant scenario 2', ('0.60', '4.44', '0.5', 100000, '100'), ['0.4837', 24186])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.63', '0.25', 100000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.39', '3.57', '1', 12345, '100'), ['0.1526', 1884]),\n  ('variant scenario 2', ('0.50', '4.50', '1', 50000, '2'), ['0.3571', 1000])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"53bf67228da9f321a6e0c0de9f5a35d1beee1a96f75473d3ad49aa6de7e4fc83","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nimport math\nN = 1\nobservations = []\ndef solve(prob, price, fraction, bankroll_cents, max_pct):\n    p = Fraction(prob)\n    b = Fraction(price) - 1\n    q = 1 - p\n    k = (b * p - q) / b\n    if k < 0:\n        k = Fraction(0)\n    use = min(k * Fraction(fraction), Fraction(max_pct) / 100)\n    stake = math.floor(bankroll_cents * use)\n    r = math.floor(k * 10000 + Fraction(1, 2))\n    return ['%d.%04d' % (r // 10000, r % 10000), stake]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.55', '1.76', '0.5', 50000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.60', '2.27', '1', 100000, '10'), ['0.2850', 10000]),\n  ('variant scenario 2', ('0.55', '3.87', '0.25', 50000, '2'), ['0.3932', 1000])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.85', '1', 12345, '10'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.60', '3.34', '0.5', 50000, '10'), ['0.4291', 5000]),\n  ('variant scenario 2', ('0.55', '5.29', '0.25', 100000, '2'), ['0.4451', 2000])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.79', '0.25', 100000, '5'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.73', '4.25', '0.25', 12345, '100'), ['0.6469', 1996]),\n  ('variant scenario 2', ('0.50', '5.61', '0.25', 12345, '2'), ['0.3915', 246])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.43', '0.5', 50000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.55', '5.15', '0.5', 100000, '2'), ['0.4416', 2000]),\n  ('variant scenario 2', ('0.60', '4.44', '0.5', 100000, '100'), ['0.4837', 24186])],\n [('control even-money edge', ('0.55', '2.00', '1', 100000, '100'), ['0.1000', 10000]),\n  ('control half kelly', ('0.55', '2.00', '0.5', 100000, '100'), ['0.1000', 5000]),\n  ('boundary capped stake', ('0.60', '2.00', '1', 100000, '5'), ['0.2000', 5000]),\n  ('boundary no edge', ('0.40', '2.00', '1', 100000, '5'), ['0.0000', 0]),\n  ('control underdog edge', ('0.30', '4.00', '1', 100000, '100'), ['0.0667', 6666]),\n  ('regression: negative edge clamp', ('0.50', '1.63', '0.25', 100000, '100'), ['0.0000', 0]),\n  ('variant scenario 1', ('0.39', '3.57', '1', 12345, '100'), ['0.1526', 1884]),\n  ('variant scenario 2', ('0.50', '4.50', '1', 50000, '2'), ['0.3571', 1000])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated, bounded toy contract stated in the contract field; not a claim of conformance with any operator, exchange or regulator rule set. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-odds-conversion-kelly-stake-sizing-negative-edge-clamp","generated_at":"2026-09-29T14:50:31.994565+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Bankroll tools size stakes with fractional Kelly and a hard cap.","repair":"Floor the full Kelly fraction at zero before using or reporting it.","root_cause":"The negative Kelly fraction is never clamped.","sha256":"2220937f318307d6117d891340e7f1db56c9cd4147be3df6ba30824de19d8c30","title":"Negative Kelly fraction not floored at zero · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.64,"exit_code":1,"observations":[{"actual":["0.1000",10000],"check":"control even-money edge","expected":["0.1000",10000],"passed":true},{"actual":["0.1000",5000],"check":"control half kelly","expected":["0.1000",5000],"passed":true},{"actual":["0.2000",5000],"check":"boundary capped stake","expected":["0.2000",5000],"passed":true},{"actual":["-1.8000",0],"check":"boundary no edge","expected":["0.0000",0],"passed":false},{"actual":["0.0667",6666],"check":"control underdog edge","expected":["0.0667",6666],"passed":true},{"actual":["-1.9579",0],"check":"regression: negative edge clamp","expected":["0.0000",0],"passed":false},{"actual":["0.2850",10000],"check":"variant scenario 1","expected":["0.2850",10000],"passed":true},{"actual":["0.3932",1000],"check":"variant scenario 2","expected":["0.3932",1000],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control even-money edge\", \"actual\": [\"0.1000\", 10000], \"expected\": [\"0.1000\", 10000], \"passed\": true}, {\"check\": \"control half kelly\", \"actual\": [\"0.1000\", 5000], \"expected\": [\"0.1000\", 5000], \"passed\": true}, {\"check\": \"boundary capped stake\", \"actual\": [\"0.2000\", 5000], \"expected\": [\"0.2000\", 5000], \"passed\": true}, {\"check\": \"boundary no edge\", \"actual\": [\"-1.8000\", 0], \"expected\": [\"0.0000\", 0], \"passed\": false}, {\"check\": \"control underdog edge\", \"actual\": [\"0.0667\", 6666], \"expected\": [\"0.0667\", 6666], \"passed\": true}, {\"check\": \"regression: negative edge clamp\", \"actual\": [\"-1.9579\", 0], \"expected\": [\"0.0000\", 0], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.2850\", 10000], \"expected\": [\"0.2850\", 10000], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [\"0.3932\", 1000], \"expected\": [\"0.3932\", 1000], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.041,"exit_code":1,"observations":[{"actual":["0.1000",10000],"check":"control even-money edge","expected":["0.1000",10000],"passed":true},{"actual":["0.1000",5000],"check":"control half kelly","expected":["0.1000",5000],"passed":true},{"actual":["0.2000",5000],"check":"boundary capped stake","expected":["0.2000",5000],"passed":true},{"actual":["-1.8000",-20000],"check":"boundary no edge","expected":["0.0000",0],"passed":false},{"actual":["0.0667",6666],"check":"control underdog edge","expected":["0.0667",6666],"passed":true},{"actual":["-1.9579",-1053],"check":"regression: negative edge clamp","expected":["0.0000",0],"passed":false},{"actual":["0.2850",10000],"check":"variant scenario 1","expected":["0.2850",10000],"passed":true},{"actual":["0.3932",1000],"check":"variant scenario 2","expected":["0.3932",1000],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control even-money edge\", \"actual\": [\"0.1000\", 10000], \"expected\": [\"0.1000\", 10000], \"passed\": true}, {\"check\": \"control half kelly\", \"actual\": [\"0.1000\", 5000], \"expected\": [\"0.1000\", 5000], \"passed\": true}, {\"check\": \"boundary capped stake\", \"actual\": [\"0.2000\", 5000], \"expected\": [\"0.2000\", 5000], \"passed\": true}, {\"check\": \"boundary no edge\", \"actual\": [\"-1.8000\", -20000], \"expected\": [\"0.0000\", 0], \"passed\": false}, {\"check\": \"control underdog edge\", \"actual\": [\"0.0667\", 6666], \"expected\": [\"0.0667\", 6666], \"passed\": true}, {\"check\": \"regression: negative edge clamp\", \"actual\": [\"-1.9579\", -1053], \"expected\": [\"0.0000\", 0], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.2850\", 10000], \"expected\": [\"0.2850\", 10000], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [\"0.3932\", 1000], \"expected\": [\"0.3932\", 1000], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":48.259,"exit_code":0,"observations":[{"actual":["0.1000",10000],"check":"control even-money edge","expected":["0.1000",10000],"passed":true},{"actual":["0.1000",5000],"check":"control half kelly","expected":["0.1000",5000],"passed":true},{"actual":["0.2000",5000],"check":"boundary capped stake","expected":["0.2000",5000],"passed":true},{"actual":["0.0000",0],"check":"boundary no edge","expected":["0.0000",0],"passed":true},{"actual":["0.0667",6666],"check":"control underdog edge","expected":["0.0667",6666],"passed":true},{"actual":["0.0000",0],"check":"regression: negative edge clamp","expected":["0.0000",0],"passed":true},{"actual":["0.2850",10000],"check":"variant scenario 1","expected":["0.2850",10000],"passed":true},{"actual":["0.3932",1000],"check":"variant scenario 2","expected":["0.3932",1000],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control even-money edge\", \"actual\": [\"0.1000\", 10000], \"expected\": [\"0.1000\", 10000], \"passed\": true}, {\"check\": \"control half kelly\", \"actual\": [\"0.1000\", 5000], \"expected\": [\"0.1000\", 5000], \"passed\": true}, {\"check\": \"boundary capped stake\", \"actual\": [\"0.2000\", 5000], \"expected\": [\"0.2000\", 5000], \"passed\": true}, {\"check\": \"boundary no edge\", \"actual\": [\"0.0000\", 0], \"expected\": [\"0.0000\", 0], \"passed\": true}, {\"check\": \"control underdog edge\", \"actual\": [\"0.0667\", 6666], \"expected\": [\"0.0667\", 6666], \"passed\": true}, {\"check\": \"regression: negative edge clamp\", \"actual\": [\"0.0000\", 0], \"expected\": [\"0.0000\", 0], \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.2850\", 10000], \"expected\": [\"0.2850\", 10000], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [\"0.3932\", 1000], \"expected\": [\"0.3932\", 1000], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}