{"abstract":"Some sizes plan one extra iteration, overshooting the peak and lowering success.","category":"Quantum circuit simulation","checks":7,"contract":"Input [N, M]. \"invalid\" if N < 1, M < 0 or M > N; \"no-solution\" if M == 0; if 2M >= N return {\"iterations\": 0, \"success\": M/N}; else theta = asin(sqrt(M/N)), k = floor(pi/(4 theta)) and success = sin^2((2k+1) theta). Probabilities rounded to 6 decimals.","contract_signature":"x","evaluation_group":"w2-quantum_circuit_simulation-grover-iteration-planner","failed_approach":"The attempted repair uses ceil, overshooting even more often.","family":"w2-quantum_circuit_simulation-grover-iteration-planner-iteration-rounding","id":"FA-91216","implementations":{"attempt":{"sha256":"cf7b07905300ad2da4af5406ccd75c11760ec09c75c77a507c669418d40f1188","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    N, M = x\n    if N < 1 or M < 0 or M > N:\n        return 'invalid'\n    if M == 0:\n        return 'no-solution'\n    if 2 * M >= N:\n        return {'iterations': 0, 'success': round(M / N, 6)}\n    theta = math.asin(math.sqrt(M / N))\n    k = math.ceil(math.pi / (4 * theta))\n    return {'iterations': k, 'success': round(math.sin((2 * k + 1) * theta) ** 2, 6)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: single marked N=4', [4, 1], {'iterations': 1, 'success': 1.0}], ['regression: N=8 M=2', [8, 2], {'iterations': 1, 'success': 1.0}], ['repair check: odd N just under half', [5, 2], {'iterations': 1, 'success': 0.784}], ['control: half marked N=4 M=2', [4, 2], {'iterations': 0, 'success': 0.5}], ['control: no marked items', [8, 0], 'no-solution'], ['control: M greater than N', [4, 5], 'invalid'], ['control: negative M', [4, -1], 'invalid']], [['regression: N=32 M=3', [32, 3], {'iterations': 2, 'success': 0.999779}], ['regression: N=32 M=5', [32, 5], {'iterations': 1, 'success': 0.881348}], ['repair check: N=7 M=3', [7, 3], {'iterations': 1, 'success': 0.708455}], ['control: empty space', [0, 0], 'invalid'], ['control: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['control: one over the space', [4, 5], 'invalid'], ['control: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}]], [['regression: N=64 M=3', [64, 3], {'iterations': 3, 'success': 0.998139}], ['regression: N=64 M=5', [64, 5], {'iterations': 2, 'success': 0.976354}], ['repair check: N=8 M=1', [8, 1], {'iterations': 2, 'success': 0.945312}], ['control: all marked N=3', [3, 3], {'iterations': 0, 'success': 1.0}], ['control: N=8 M=5', [8, 5], {'iterations': 0, 'success': 0.625}], ['control: N=8 M=7', [8, 7], {'iterations': 0, 'success': 0.875}], ['control: N=16 M=13', [16, 13], {'iterations': 0, 'success': 0.8125}]], [['regression: N=100 M=1', [100, 1], {'iterations': 7, 'success': 0.995344}], ['regression: N=100 M=2', [100, 2], {'iterations': 5, 'success': 0.999901}], ['repair check: N=8 M=3', [8, 3], {'iterations': 1, 'success': 0.84375}], ['control: half marked N=4 M=2', [4, 2], {'iterations': 0, 'success': 0.5}], ['control: no marked items', [8, 0], 'no-solution'], ['control: M greater than N', [4, 5], 'invalid'], ['control: negative M', [4, -1], 'invalid']], [['regression: N=100 M=7', [100, 7], {'iterations': 2, 'success': 0.947144}], ['regression: N=128 M=1', [128, 1], {'iterations': 8, 'success': 0.99562}], ['repair check: N=16 M=2', [16, 2], {'iterations': 2, 'success': 0.945312}], ['control: empty space', [0, 0], 'invalid'], ['control: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['control: one over the space', [4, 5], 'invalid'], ['control: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(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":"cdc6b607461775af9973e4aba555538436c5601c8f78ec01231663154397bd77","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    N, M = x\n    if N < 1 or M < 0 or M > N:\n        return 'invalid'\n    if M == 0:\n        return 'no-solution'\n    if 2 * M >= N:\n        return {'iterations': 0, 'success': round(M / N, 6)}\n    theta = math.asin(math.sqrt(M / N))\n    k = round(math.pi / (4 * theta))\n    return {'iterations': k, 'success': round(math.sin((2 * k + 1) * theta) ** 2, 6)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: single marked N=4', [4, 1], {'iterations': 1, 'success': 1.0}], ['regression: N=8 M=2', [8, 2], {'iterations': 1, 'success': 1.0}], ['repair check: odd N just under half', [5, 2], {'iterations': 1, 'success': 0.784}], ['control: half marked N=4 M=2', [4, 2], {'iterations': 0, 'success': 0.5}], ['control: no marked items', [8, 0], 'no-solution'], ['control: M greater than N', [4, 5], 'invalid'], ['control: negative M', [4, -1], 'invalid']], [['regression: N=32 M=3', [32, 3], {'iterations': 2, 'success': 0.999779}], ['regression: N=32 M=5', [32, 5], {'iterations': 1, 'success': 0.881348}], ['repair check: N=7 M=3', [7, 3], {'iterations': 1, 'success': 0.708455}], ['control: empty space', [0, 0], 'invalid'], ['control: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['control: one over the space', [4, 5], 'invalid'], ['control: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}]], [['regression: N=64 M=3', [64, 3], {'iterations': 3, 'success': 0.998139}], ['regression: N=64 M=5', [64, 5], {'iterations': 2, 'success': 0.976354}], ['repair check: N=8 M=1', [8, 1], {'iterations': 2, 'success': 0.945312}], ['control: all marked N=3', [3, 3], {'iterations': 0, 'success': 1.0}], ['control: N=8 M=5', [8, 5], {'iterations': 0, 'success': 0.625}], ['control: N=8 M=7', [8, 7], {'iterations': 0, 'success': 0.875}], ['control: N=16 M=13', [16, 13], {'iterations': 0, 'success': 0.8125}]], [['regression: N=100 M=1', [100, 1], {'iterations': 7, 'success': 0.995344}], ['regression: N=100 M=2', [100, 2], {'iterations': 5, 'success': 0.999901}], ['repair check: N=8 M=3', [8, 3], {'iterations': 1, 'success': 0.84375}], ['control: half marked N=4 M=2', [4, 2], {'iterations': 0, 'success': 0.5}], ['control: no marked items', [8, 0], 'no-solution'], ['control: M greater than N', [4, 5], 'invalid'], ['control: negative M', [4, -1], 'invalid']], [['regression: N=100 M=7', [100, 7], {'iterations': 2, 'success': 0.947144}], ['regression: N=128 M=1', [128, 1], {'iterations': 8, 'success': 0.99562}], ['repair check: N=16 M=2', [16, 2], {'iterations': 2, 'success': 0.945312}], ['control: empty space', [0, 0], 'invalid'], ['control: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['control: one over the space', [4, 5], 'invalid'], ['control: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(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":"A deterministic bounded teaching model with a stipulated toy contract; amplitudes are rounded to fixed decimals for strict JSON output. It is not a production quantum SDK and claims no standards conformance. 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-quantum_circuit_simulation-grover-iteration-planner-iteration-rounding","generated_at":"2026-09-29T14:51:33.848509+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Choosing the Grover iteration count wrongly overshoots the amplitude peak and collapses the success probability.","root_cause":"k is computed with round(pi/(4 theta)) instead of the contract floor.","sha256":"31b9fe14d253a4df6afb609f515ca6e3d23cb77f3c256242d2791b54f9977ebb","title":"Grover planner rounds the iteration count to nearest · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.221,"exit_code":1,"observations":[{"actual":{"iterations":2,"success":0.25},"check":"regression: single marked N=4","expected":{"iterations":1,"success":1.0},"passed":false},{"actual":{"iterations":2,"success":0.25},"check":"regression: N=8 M=2","expected":{"iterations":1,"success":1.0},"passed":false},{"actual":{"iterations":2,"success":0.07744},"check":"repair check: odd N just under half","expected":{"iterations":1,"success":0.784},"passed":false},{"actual":{"iterations":0,"success":0.5},"check":"control: half marked N=4 M=2","expected":{"iterations":0,"success":0.5},"passed":true},{"actual":"no-solution","check":"control: no marked items","expected":"no-solution","passed":true},{"actual":"invalid","check":"control: M greater than N","expected":"invalid","passed":true},{"actual":"invalid","check":"control: negative M","expected":"invalid","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: single marked N=4\", \"actual\": {\"iterations\": 2, \"success\": 0.25}, \"expected\": {\"iterations\": 1, \"success\": 1.0}, \"passed\": false}, {\"check\": \"regression: N=8 M=2\", \"actual\": {\"iterations\": 2, \"success\": 0.25}, \"expected\": {\"iterations\": 1, \"success\": 1.0}, \"passed\": false}, {\"check\": \"repair check: odd N just under half\", \"actual\": {\"iterations\": 2, \"success\": 0.07744}, \"expected\": {\"iterations\": 1, \"success\": 0.784}, \"passed\": false}, {\"check\": \"control: half marked N=4 M=2\", \"actual\": {\"iterations\": 0, \"success\": 0.5}, \"expected\": {\"iterations\": 0, \"success\": 0.5}, \"passed\": true}, {\"check\": \"control: no marked items\", \"actual\": \"no-solution\", \"expected\": \"no-solution\", \"passed\": true}, {\"check\": \"control: M greater than N\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"control: negative M\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.927,"exit_code":1,"observations":[{"actual":{"iterations":2,"success":0.25},"check":"regression: single marked N=4","expected":{"iterations":1,"success":1.0},"passed":false},{"actual":{"iterations":2,"success":0.25},"check":"regression: N=8 M=2","expected":{"iterations":1,"success":1.0},"passed":false},{"actual":{"iterations":1,"success":0.784},"check":"repair check: odd N just under half","expected":{"iterations":1,"success":0.784},"passed":true},{"actual":{"iterations":0,"success":0.5},"check":"control: half marked N=4 M=2","expected":{"iterations":0,"success":0.5},"passed":true},{"actual":"no-solution","check":"control: no marked items","expected":"no-solution","passed":true},{"actual":"invalid","check":"control: M greater than N","expected":"invalid","passed":true},{"actual":"invalid","check":"control: negative M","expected":"invalid","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: single marked N=4\", \"actual\": {\"iterations\": 2, \"success\": 0.25}, \"expected\": {\"iterations\": 1, \"success\": 1.0}, \"passed\": false}, {\"check\": \"regression: N=8 M=2\", \"actual\": {\"iterations\": 2, \"success\": 0.25}, \"expected\": {\"iterations\": 1, \"success\": 1.0}, \"passed\": false}, {\"check\": \"repair check: odd N just under half\", \"actual\": {\"iterations\": 1, \"success\": 0.784}, \"expected\": {\"iterations\": 1, \"success\": 0.784}, \"passed\": true}, {\"check\": \"control: half marked N=4 M=2\", \"actual\": {\"iterations\": 0, \"success\": 0.5}, \"expected\": {\"iterations\": 0, \"success\": 0.5}, \"passed\": true}, {\"check\": \"control: no marked items\", \"actual\": \"no-solution\", \"expected\": \"no-solution\", \"passed\": true}, {\"check\": \"control: M greater than N\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"control: negative M\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}