{"abstract":"N=8, M=8 is reported as \"invalid\" instead of the trivial zero-iteration plan with success 1.","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 loosens the bound to M > N + 1, which now accepts M = N + 1 and reports a success probability above 1.","family":"w2-quantum_circuit_simulation-grover-iteration-planner-upper-bound-on-marked-count","id":"FA-91206","implementations":{"attempt":{"sha256":"7a731e24db03e128ef2fd32ca768b4580b376bca1d887be3fbc17bbff07b86f5","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 + 1:\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.floor(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: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: half marked N=4 M=2', [4, 2], {'iterations': 0, 'success': 0.5}], ['control: odd N just under half', [5, 2], {'iterations': 1, 'success': 0.784}], ['control: single marked N=4', [4, 1], {'iterations': 1, 'success': 1.0}], ['control: no marked items', [8, 0], 'no-solution']], [['regression: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: negative M', [4, -1], 'invalid'], ['control: empty space', [0, 0], 'invalid'], ['control: N=7 M=3', [7, 3], {'iterations': 1, 'success': 0.708455}], ['control: N=9 M=4', [9, 4], {'iterations': 1, 'success': 0.663923}]], [['regression: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: N=8 M=1', [8, 1], {'iterations': 2, 'success': 0.945312}], ['control: N=8 M=2', [8, 2], {'iterations': 1, 'success': 1.0}], ['control: N=8 M=3', [8, 3], {'iterations': 1, 'success': 0.84375}], ['control: N=8 M=5', [8, 5], {'iterations': 0, 'success': 0.625}]], [['regression: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: N=8 M=7', [8, 7], {'iterations': 0, 'success': 0.875}], ['control: N=16 M=1', [16, 1], {'iterations': 3, 'success': 0.961319}], ['control: N=16 M=2', [16, 2], {'iterations': 2, 'success': 0.945312}], ['control: N=16 M=3', [16, 3], {'iterations': 1, 'success': 0.949219}]], [['regression: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: N=16 M=5', [16, 5], {'iterations': 1, 'success': 0.957031}], ['control: N=16 M=7', [16, 7], {'iterations': 1, 'success': 0.683594}], ['control: N=16 M=13', [16, 13], {'iterations': 0, 'success': 0.8125}], ['control: N=32 M=1', [32, 1], {'iterations': 4, 'success': 0.999182}]]]\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":"c4b21b7bda8c0c9fef01cacb40980d14ef3514112a0fb190cb63463a71279c22","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.floor(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: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: half marked N=4 M=2', [4, 2], {'iterations': 0, 'success': 0.5}], ['control: odd N just under half', [5, 2], {'iterations': 1, 'success': 0.784}], ['control: single marked N=4', [4, 1], {'iterations': 1, 'success': 1.0}], ['control: no marked items', [8, 0], 'no-solution']], [['regression: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: negative M', [4, -1], 'invalid'], ['control: empty space', [0, 0], 'invalid'], ['control: N=7 M=3', [7, 3], {'iterations': 1, 'success': 0.708455}], ['control: N=9 M=4', [9, 4], {'iterations': 1, 'success': 0.663923}]], [['regression: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: N=8 M=1', [8, 1], {'iterations': 2, 'success': 0.945312}], ['control: N=8 M=2', [8, 2], {'iterations': 1, 'success': 1.0}], ['control: N=8 M=3', [8, 3], {'iterations': 1, 'success': 0.84375}], ['control: N=8 M=5', [8, 5], {'iterations': 0, 'success': 0.625}]], [['regression: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: N=8 M=7', [8, 7], {'iterations': 0, 'success': 0.875}], ['control: N=16 M=1', [16, 1], {'iterations': 3, 'success': 0.961319}], ['control: N=16 M=2', [16, 2], {'iterations': 2, 'success': 0.945312}], ['control: N=16 M=3', [16, 3], {'iterations': 1, 'success': 0.949219}]], [['regression: all marked', [8, 8], {'iterations': 0, 'success': 1.0}], ['regression: all marked N=1', [1, 1], {'iterations': 0, 'success': 1.0}], ['repair check: M greater than N', [4, 5], 'invalid'], ['control: N=16 M=5', [16, 5], {'iterations': 1, 'success': 0.957031}], ['control: N=16 M=7', [16, 7], {'iterations': 1, 'success': 0.683594}], ['control: N=16 M=13', [16, 13], {'iterations': 0, 'success': 0.8125}], ['control: N=32 M=1', [32, 1], {'iterations': 4, 'success': 0.999182}]]]\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-upper-bound-on-marked-count","generated_at":"2026-09-29T14:51:33.757878+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":"The validation rejects M >= N, treating the legal all-marked case as out of range.","sha256":"dd7e65e242c67b1edced581879c7a23d8a7f7e10074ded8954653aee2213435b","title":"Grover planner rejects a fully marked search space · 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":42.396,"exit_code":1,"observations":[{"actual":{"iterations":0,"success":1.0},"check":"regression: all marked","expected":{"iterations":0,"success":1.0},"passed":true},{"actual":{"iterations":0,"success":1.0},"check":"regression: all marked N=1","expected":{"iterations":0,"success":1.0},"passed":true},{"actual":{"iterations":0,"success":1.25},"check":"repair check: M greater than N","expected":"invalid","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":{"iterations":1,"success":0.784},"check":"control: odd N just under half","expected":{"iterations":1,"success":0.784},"passed":true},{"actual":{"iterations":1,"success":1.0},"check":"control: single marked N=4","expected":{"iterations":1,"success":1.0},"passed":true},{"actual":"no-solution","check":"control: no marked items","expected":"no-solution","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: all marked\", \"actual\": {\"iterations\": 0, \"success\": 1.0}, \"expected\": {\"iterations\": 0, \"success\": 1.0}, \"passed\": true}, {\"check\": \"regression: all marked N=1\", \"actual\": {\"iterations\": 0, \"success\": 1.0}, \"expected\": {\"iterations\": 0, \"success\": 1.0}, \"passed\": true}, {\"check\": \"repair check: M greater than N\", \"actual\": {\"iterations\": 0, \"success\": 1.25}, \"expected\": \"invalid\", \"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: odd N just under half\", \"actual\": {\"iterations\": 1, \"success\": 0.784}, \"expected\": {\"iterations\": 1, \"success\": 0.784}, \"passed\": true}, {\"check\": \"control: single marked N=4\", \"actual\": {\"iterations\": 1, \"success\": 1.0}, \"expected\": {\"iterations\": 1, \"success\": 1.0}, \"passed\": true}, {\"check\": \"control: no marked items\", \"actual\": \"no-solution\", \"expected\": \"no-solution\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.307,"exit_code":1,"observations":[{"actual":"invalid","check":"regression: all marked","expected":{"iterations":0,"success":1.0},"passed":false},{"actual":"invalid","check":"regression: all marked N=1","expected":{"iterations":0,"success":1.0},"passed":false},{"actual":"invalid","check":"repair check: M greater than N","expected":"invalid","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":{"iterations":1,"success":0.784},"check":"control: odd N just under half","expected":{"iterations":1,"success":0.784},"passed":true},{"actual":{"iterations":1,"success":1.0},"check":"control: single marked N=4","expected":{"iterations":1,"success":1.0},"passed":true},{"actual":"no-solution","check":"control: no marked items","expected":"no-solution","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: all marked\", \"actual\": \"invalid\", \"expected\": {\"iterations\": 0, \"success\": 1.0}, \"passed\": false}, {\"check\": \"regression: all marked N=1\", \"actual\": \"invalid\", \"expected\": {\"iterations\": 0, \"success\": 1.0}, \"passed\": false}, {\"check\": \"repair check: M greater than N\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"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: odd N just under half\", \"actual\": {\"iterations\": 1, \"success\": 0.784}, \"expected\": {\"iterations\": 1, \"success\": 0.784}, \"passed\": true}, {\"check\": \"control: single marked N=4\", \"actual\": {\"iterations\": 1, \"success\": 1.0}, \"expected\": {\"iterations\": 1, \"success\": 1.0}, \"passed\": true}, {\"check\": \"control: no marked items\", \"actual\": \"no-solution\", \"expected\": \"no-solution\", \"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."}}