{"abstract":"The exact repeating radix fraction result violates the stated contract at quotient digit.","category":"Numerics","checks":8,"contract":"Input [p,q,base], 0<=p<q, q>0, base2..10; return nonrepeating digit list and repeating digit list. Bounds: 2<=q<=19 and 2<=base<=8.","evaluation_group":"s3-numerics-repeating-radix-fraction","failed_approach":"The partial repair (t+q-1)//q still violates the quotient digit invariant.","family":"s3-numerics-repeating-radix-fraction-quotient-digit","id":"FA-14481","implementations":{"attempt":{"sha256":"b80ecf204a0fa08512b51c8e2dfba71b7a246e92eeca8cc5402430f6c089cc42","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport itertools\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    p,q,base=x\n    seen={};digits=[];r=p\n    for _ in range(100):\n     if r==0: return [digits,[]]\n     if r in seen:\n      k=seen[r]\n      return [digits[:k],digits[k:]]\n     seen[r]=len(digits)\n     t=r*base\n     digits.append((t+q-1)//q)\n     r=t%q\n    return [digits,[]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([1, 2, 2], [[1], []]), ([1, 2, 3], [[], [1]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 2, 3], [[], []]), ([0, 2, 4], [[], []]), ([0, 2, 5], [[], []]), ([0, 2, 6], [[], []])], [([1, 2, 4], [[2], []]), ([1, 3, 2], [[], [0, 1]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 3, 5], [[], []]), ([0, 3, 6], [[], []]), ([0, 3, 7], [[], []]), ([0, 3, 8], [[], []])], [([1, 2, 5], [[], [2]]), ([1, 3, 7], [[], [2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([2, 3, 8], [[], [5, 2]]), ([0, 4, 2], [[], []]), ([0, 4, 3], [[], []]), ([0, 4, 4], [[], []])], [([1, 2, 6], [[3], []]), ([2, 3, 4], [[], [2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([2, 4, 4], [[2], []]), ([2, 4, 5], [[], [2]]), ([2, 4, 6], [[3], []]), ([2, 4, 7], [[], [3]])], [([1, 2, 7], [[], [3]]), ([2, 3, 8], [[], [5, 2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 5, 7], [[], []]), ([0, 5, 8], [[], []]), ([1, 5, 2], [[], [0, 0, 1, 1]]), ([1, 5, 3], [[], [0, 1, 2, 1]])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"explicit oracle %d\" % i, 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":"c6b82b1f59acc8edf6c7d813d995a92073f5dc784dc6c858aa6dbd6bbf169b20","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport itertools\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    p,q,base=x\n    seen={};digits=[];r=p\n    for _ in range(100):\n     if r==0: return [digits,[]]\n     if r in seen:\n      k=seen[r]\n      return [digits[:k],digits[k:]]\n     seen[r]=len(digits)\n     t=r*base\n     digits.append(t%q)\n     r=t%q\n    return [digits,[]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([1, 2, 2], [[1], []]), ([1, 2, 3], [[], [1]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 2, 3], [[], []]), ([0, 2, 4], [[], []]), ([0, 2, 5], [[], []]), ([0, 2, 6], [[], []])], [([1, 2, 4], [[2], []]), ([1, 3, 2], [[], [0, 1]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 3, 5], [[], []]), ([0, 3, 6], [[], []]), ([0, 3, 7], [[], []]), ([0, 3, 8], [[], []])], [([1, 2, 5], [[], [2]]), ([1, 3, 7], [[], [2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([2, 3, 8], [[], [5, 2]]), ([0, 4, 2], [[], []]), ([0, 4, 3], [[], []]), ([0, 4, 4], [[], []])], [([1, 2, 6], [[3], []]), ([2, 3, 4], [[], [2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([2, 4, 4], [[2], []]), ([2, 4, 5], [[], [2]]), ([2, 4, 6], [[3], []]), ([2, 4, 7], [[], [3]])], [([1, 2, 7], [[], [3]]), ([2, 3, 8], [[], [5, 2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 5, 7], [[], []]), ([0, 5, 8], [[], []]), ([1, 5, 2], [[], [0, 0, 1, 1]]), ([1, 5, 3], [[], [0, 1, 2, 1]])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"explicit oracle %d\" % i, 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"},"fixed":{"sha256":"60b00674735b82372bfa99294eb74eebd6f49fee4c25812fae88ebc3ad52ba34","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport itertools\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    p,q,base=x\n    seen={};digits=[];r=p\n    for _ in range(100):\n     if r==0: return [digits,[]]\n     if r in seen:\n      k=seen[r]\n      return [digits[:k],digits[k:]]\n     seen[r]=len(digits)\n     t=r*base\n     digits.append(t//q)\n     r=t%q\n    return [digits,[]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([1, 2, 2], [[1], []]), ([1, 2, 3], [[], [1]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 2, 3], [[], []]), ([0, 2, 4], [[], []]), ([0, 2, 5], [[], []]), ([0, 2, 6], [[], []])], [([1, 2, 4], [[2], []]), ([1, 3, 2], [[], [0, 1]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 3, 5], [[], []]), ([0, 3, 6], [[], []]), ([0, 3, 7], [[], []]), ([0, 3, 8], [[], []])], [([1, 2, 5], [[], [2]]), ([1, 3, 7], [[], [2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([2, 3, 8], [[], [5, 2]]), ([0, 4, 2], [[], []]), ([0, 4, 3], [[], []]), ([0, 4, 4], [[], []])], [([1, 2, 6], [[3], []]), ([2, 3, 4], [[], [2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([2, 4, 4], [[2], []]), ([2, 4, 5], [[], [2]]), ([2, 4, 6], [[3], []]), ([2, 4, 7], [[], [3]])], [([1, 2, 7], [[], [3]]), ([2, 3, 8], [[], [5, 2]]), ([0, 2, 2], [[], []]), ([18, 19, 8], [[], [7, 4, 5, 0, 3, 2]]), ([0, 5, 7], [[], []]), ([0, 5, 8], [[], []]), ([1, 5, 2], [[], [0, 0, 1, 1]]), ([1, 5, 3], [[], [0, 1, 2, 1]])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"explicit oracle %d\" % i, 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. Inputs are restricted to the explicit contract; this is not a production algebra library. 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":"s3-numerics-repeating-radix-fraction-quotient-digit","generated_at":"2026-09-29T14:39:17.178755+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Exact discrete arithmetic with observable algorithmic state; no floating point approximation is used.","repair":"Use t//q at the quotient digit step.","root_cause":"The quotient digit step uses t%q instead of t//q.","sha256":"14742daca314211581278801e22d9b0630202f2a145cd375af6f909e16b95742","title":"Repeating radix fraction: quotient digit · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.723,"exit_code":1,"observations":[{"actual":[[1],[]],"check":"explicit oracle 0","expected":[[1],[]],"passed":true},{"actual":[[],[2]],"check":"explicit oracle 1","expected":[[],[1]],"passed":false},{"actual":[[],[]],"check":"explicit oracle 2","expected":[[],[]],"passed":true},{"actual":[[],[8,5,6,1,4,3]],"check":"explicit oracle 3","expected":[[],[7,4,5,0,3,2]],"passed":false},{"actual":[[],[]],"check":"explicit oracle 4","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 5","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 6","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 7","expected":[[],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit oracle 0\", \"actual\": [[1], []], \"expected\": [[1], []], \"passed\": true}, {\"check\": \"explicit oracle 1\", \"actual\": [[], [2]], \"expected\": [[], [1]], \"passed\": false}, {\"check\": \"explicit oracle 2\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 3\", \"actual\": [[], [8, 5, 6, 1, 4, 3]], \"expected\": [[], [7, 4, 5, 0, 3, 2]], \"passed\": false}, {\"check\": \"explicit oracle 4\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 5\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 6\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 7\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.142,"exit_code":1,"observations":[{"actual":[[0],[]],"check":"explicit oracle 0","expected":[[1],[]],"passed":false},{"actual":[[],[1]],"check":"explicit oracle 1","expected":[[],[1]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 2","expected":[[],[]],"passed":true},{"actual":[[],[11,12,1,8,7,18]],"check":"explicit oracle 3","expected":[[],[7,4,5,0,3,2]],"passed":false},{"actual":[[],[]],"check":"explicit oracle 4","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 5","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 6","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 7","expected":[[],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit oracle 0\", \"actual\": [[0], []], \"expected\": [[1], []], \"passed\": false}, {\"check\": \"explicit oracle 1\", \"actual\": [[], [1]], \"expected\": [[], [1]], \"passed\": true}, {\"check\": \"explicit oracle 2\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 3\", \"actual\": [[], [11, 12, 1, 8, 7, 18]], \"expected\": [[], [7, 4, 5, 0, 3, 2]], \"passed\": false}, {\"check\": \"explicit oracle 4\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 5\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 6\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 7\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.867,"exit_code":0,"observations":[{"actual":[[1],[]],"check":"explicit oracle 0","expected":[[1],[]],"passed":true},{"actual":[[],[1]],"check":"explicit oracle 1","expected":[[],[1]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 2","expected":[[],[]],"passed":true},{"actual":[[],[7,4,5,0,3,2]],"check":"explicit oracle 3","expected":[[],[7,4,5,0,3,2]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 4","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 5","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 6","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"explicit oracle 7","expected":[[],[]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit oracle 0\", \"actual\": [[1], []], \"expected\": [[1], []], \"passed\": true}, {\"check\": \"explicit oracle 1\", \"actual\": [[], [1]], \"expected\": [[], [1]], \"passed\": true}, {\"check\": \"explicit oracle 2\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 3\", \"actual\": [[], [7, 4, 5, 0, 3, 2]], \"expected\": [[], [7, 4, 5, 0, 3, 2]], \"passed\": true}, {\"check\": \"explicit oracle 4\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 5\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 6\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 7\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}