{"abstract":"The Kelly stake ignores the bettor probability for the losing side.","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":"Using 1 - 1/price is still the market view, not the estimate.","family":"w2-odds-conversion-kelly-stake-sizing-loss-probability","id":"FA-84571","implementations":{"attempt":{"sha256":"60b9bffa23cbce04e07d24b81a49e4e5d6619c2a32f1572da4aee05a1971774f","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 - 1 / Fraction(price)\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: loss probability', ('0.60', '2.36', '0.5', 12345, '5'), ['0.3059', 617]),\n  ('variant scenario 1', ('0.60', '4.25', '0.25', 12345, '10'), ['0.4769', 1234]),\n  ('variant scenario 2', ('0.62', '4.87', '1', 12345, '100'), ['0.5218', 6441])],\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: loss probability', ('0.55', '4.90', '1', 100000, '2'), ['0.4346', 2000]),\n  ('variant scenario 1', ('0.60', '4.89', '1', 50000, '100'), ['0.4972', 24858]),\n  ('variant scenario 2', ('0.50', '5.00', '0.25', 12345, '5'), ['0.3750', 617])],\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: loss probability', ('0.50', '4.71', '1', 12345, '100'), ['0.3652', 4508]),\n  ('variant scenario 1', ('0.55', '2.71', '1', 50000, '100'), ['0.2868', 14342]),\n  ('variant scenario 2', ('0.50', '5.42', '0.5', 12345, '2'), ['0.3869', 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: loss probability', ('0.50', '5.16', '0.5', 100000, '5'), ['0.3798', 5000]),\n  ('variant scenario 1', ('0.60', '5.38', '0.25', 100000, '10'), ['0.5087', 10000]),\n  ('variant scenario 2', ('0.50', '3.37', '1', 100000, '2'), ['0.2890', 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: loss probability', ('0.55', '5.27', '0.5', 12345, '100'), ['0.4446', 2744]),\n  ('variant scenario 1', ('0.60', '1.55', '0.25', 100000, '5'), ['0.0000', 0]),\n  ('variant scenario 2', ('0.68', '1.65', '0.5', 100000, '2'), ['0.1877', 2000])]]\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":"e8016406d5dba6ce5476a71f1fb903d84d7e59473987605ec3b49044182c0fd6","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 / Fraction(price)\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: loss probability', ('0.60', '2.36', '0.5', 12345, '5'), ['0.3059', 617]),\n  ('variant scenario 1', ('0.60', '4.25', '0.25', 12345, '10'), ['0.4769', 1234]),\n  ('variant scenario 2', ('0.62', '4.87', '1', 12345, '100'), ['0.5218', 6441])],\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: loss probability', ('0.55', '4.90', '1', 100000, '2'), ['0.4346', 2000]),\n  ('variant scenario 1', ('0.60', '4.89', '1', 50000, '100'), ['0.4972', 24858]),\n  ('variant scenario 2', ('0.50', '5.00', '0.25', 12345, '5'), ['0.3750', 617])],\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: loss probability', ('0.50', '4.71', '1', 12345, '100'), ['0.3652', 4508]),\n  ('variant scenario 1', ('0.55', '2.71', '1', 50000, '100'), ['0.2868', 14342]),\n  ('variant scenario 2', ('0.50', '5.42', '0.5', 12345, '2'), ['0.3869', 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: loss probability', ('0.50', '5.16', '0.5', 100000, '5'), ['0.3798', 5000]),\n  ('variant scenario 1', ('0.60', '5.38', '0.25', 100000, '10'), ['0.5087', 10000]),\n  ('variant scenario 2', ('0.50', '3.37', '1', 100000, '2'), ['0.2890', 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: loss probability', ('0.55', '5.27', '0.5', 12345, '100'), ['0.4446', 2744]),\n  ('variant scenario 1', ('0.60', '1.55', '0.25', 100000, '5'), ['0.0000', 0]),\n  ('variant scenario 2', ('0.68', '1.65', '0.5', 100000, '2'), ['0.1877', 2000])]]\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":"a9d7caa354593de225f2ffb7a7a899f965b45a1cf20e05a0d869554121b7a294","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: loss probability', ('0.60', '2.36', '0.5', 12345, '5'), ['0.3059', 617]),\n  ('variant scenario 1', ('0.60', '4.25', '0.25', 12345, '10'), ['0.4769', 1234]),\n  ('variant scenario 2', ('0.62', '4.87', '1', 12345, '100'), ['0.5218', 6441])],\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: loss probability', ('0.55', '4.90', '1', 100000, '2'), ['0.4346', 2000]),\n  ('variant scenario 1', ('0.60', '4.89', '1', 50000, '100'), ['0.4972', 24858]),\n  ('variant scenario 2', ('0.50', '5.00', '0.25', 12345, '5'), ['0.3750', 617])],\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: loss probability', ('0.50', '4.71', '1', 12345, '100'), ['0.3652', 4508]),\n  ('variant scenario 1', ('0.55', '2.71', '1', 50000, '100'), ['0.2868', 14342]),\n  ('variant scenario 2', ('0.50', '5.42', '0.5', 12345, '2'), ['0.3869', 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: loss probability', ('0.50', '5.16', '0.5', 100000, '5'), ['0.3798', 5000]),\n  ('variant scenario 1', ('0.60', '5.38', '0.25', 100000, '10'), ['0.5087', 10000]),\n  ('variant scenario 2', ('0.50', '3.37', '1', 100000, '2'), ['0.2890', 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: loss probability', ('0.55', '5.27', '0.5', 12345, '100'), ['0.4446', 2744]),\n  ('variant scenario 1', ('0.60', '1.55', '0.25', 100000, '5'), ['0.0000', 0]),\n  ('variant scenario 2', ('0.68', '1.65', '0.5', 100000, '2'), ['0.1877', 2000])]]\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-loss-probability","generated_at":"2026-09-29T14:50:32.277304+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":"Use q = 1 - p.","root_cause":"q is computed as 1 / price (the market implied probability).","sha256":"18054bddef3fa49d2f9f0f09a5fb22d65de5ab32d8287ee3a7891f9919c4d9d2","title":"Loss probability taken from the price instead of the estimate · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.58,"exit_code":1,"observations":[{"actual":["0.0500",5000],"check":"control even-money edge","expected":["0.1000",10000],"passed":false},{"actual":["0.0500",2500],"check":"control half kelly","expected":["0.1000",5000],"passed":false},{"actual":["0.1000",5000],"check":"boundary capped stake","expected":["0.2000",5000],"passed":false},{"actual":["0.0000",0],"check":"boundary no edge","expected":["0.0000",0],"passed":true},{"actual":["0.0500",5000],"check":"control underdog edge","expected":["0.0667",6666],"passed":false},{"actual":["0.1763",617],"check":"regression: loss probability","expected":["0.3059",617],"passed":false},{"actual":["0.3647",1125],"check":"variant scenario 1","expected":["0.4769",1234],"passed":false},{"actual":["0.4147",5118],"check":"variant scenario 2","expected":["0.5218",6441],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control even-money edge\", \"actual\": [\"0.0500\", 5000], \"expected\": [\"0.1000\", 10000], \"passed\": false}, {\"check\": \"control half kelly\", \"actual\": [\"0.0500\", 2500], \"expected\": [\"0.1000\", 5000], \"passed\": false}, {\"check\": \"boundary capped stake\", \"actual\": [\"0.1000\", 5000], \"expected\": [\"0.2000\", 5000], \"passed\": false}, {\"check\": \"boundary no edge\", \"actual\": [\"0.0000\", 0], \"expected\": [\"0.0000\", 0], \"passed\": true}, {\"check\": \"control underdog edge\", \"actual\": [\"0.0500\", 5000], \"expected\": [\"0.0667\", 6666], \"passed\": false}, {\"check\": \"regression: loss probability\", \"actual\": [\"0.1763\", 617], \"expected\": [\"0.3059\", 617], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.3647\", 1125], \"expected\": [\"0.4769\", 1234], \"passed\": false}, {\"check\": \"variant scenario 2\", \"actual\": [\"0.4147\", 5118], \"expected\": [\"0.5218\", 6441], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.985,"exit_code":1,"observations":[{"actual":["0.0500",5000],"check":"control even-money edge","expected":["0.1000",10000],"passed":false},{"actual":["0.0500",2500],"check":"control half kelly","expected":["0.1000",5000],"passed":false},{"actual":["0.1000",5000],"check":"boundary capped stake","expected":["0.2000",5000],"passed":false},{"actual":["0.0000",0],"check":"boundary no edge","expected":["0.0000",0],"passed":true},{"actual":["0.2167",21666],"check":"control underdog edge","expected":["0.0667",6666],"passed":false},{"actual":["0.2884",617],"check":"regression: loss probability","expected":["0.3059",617],"passed":false},{"actual":["0.5276",1234],"check":"variant scenario 1","expected":["0.4769",1234],"passed":false},{"actual":["0.5669",6998],"check":"variant scenario 2","expected":["0.5218",6441],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control even-money edge\", \"actual\": [\"0.0500\", 5000], \"expected\": [\"0.1000\", 10000], \"passed\": false}, {\"check\": \"control half kelly\", \"actual\": [\"0.0500\", 2500], \"expected\": [\"0.1000\", 5000], \"passed\": false}, {\"check\": \"boundary capped stake\", \"actual\": [\"0.1000\", 5000], \"expected\": [\"0.2000\", 5000], \"passed\": false}, {\"check\": \"boundary no edge\", \"actual\": [\"0.0000\", 0], \"expected\": [\"0.0000\", 0], \"passed\": true}, {\"check\": \"control underdog edge\", \"actual\": [\"0.2167\", 21666], \"expected\": [\"0.0667\", 6666], \"passed\": false}, {\"check\": \"regression: loss probability\", \"actual\": [\"0.2884\", 617], \"expected\": [\"0.3059\", 617], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.5276\", 1234], \"expected\": [\"0.4769\", 1234], \"passed\": false}, {\"check\": \"variant scenario 2\", \"actual\": [\"0.5669\", 6998], \"expected\": [\"0.5218\", 6441], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.001,"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.3059",617],"check":"regression: loss probability","expected":["0.3059",617],"passed":true},{"actual":["0.4769",1234],"check":"variant scenario 1","expected":["0.4769",1234],"passed":true},{"actual":["0.5218",6441],"check":"variant scenario 2","expected":["0.5218",6441],"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: loss probability\", \"actual\": [\"0.3059\", 617], \"expected\": [\"0.3059\", 617], \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": [\"0.4769\", 1234], \"expected\": [\"0.4769\", 1234], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [\"0.5218\", 6441], \"expected\": [\"0.5218\", 6441], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}