{"abstract":"The exact repeating radix fraction result violates the stated contract at remainder transition.","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)//base still violates the remainder transition invariant.","family":"s3-numerics-repeating-radix-fraction-remainder-transition","id":"FA-14486","implementations":{"attempt":{"sha256":"2d89798b6928607af883de7fdf31dbc1810580ee28e4dc04507108512dcef7b1","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)//base\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":"3f8be0bd0ad1f0ec7fec1a08672bcd3b7dc7cad11954fd2663ed905772e5533f","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-remainder-transition","generated_at":"2026-09-29T14:39:17.273289+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 remainder transition step.","root_cause":"The remainder transition step uses t//q instead of t%q.","sha256":"92e4a0565568a02344913c9def0eb263dcb8182473813cf3ea2cf280afb473a8","title":"Repeating radix fraction: remainder transition · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.059,"exit_code":1,"observations":[{"actual":[[1],[]],"check":"explicit oracle 0","expected":[[1],[]],"passed":true},{"actual":[[1],[]],"check":"explicit oracle 1","expected":[[],[1]],"passed":false},{"actual":[[],[]],"check":"explicit oracle 2","expected":[[],[]],"passed":true},{"actual":[[7],[0]],"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\": [[1], []], \"expected\": [[], [1]], \"passed\": false}, {\"check\": \"explicit oracle 2\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 3\", \"actual\": [[7], [0]], \"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.827,"exit_code":1,"observations":[{"actual":[[],[1]],"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":[[7,2,0],[]],"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\": false}, {\"check\": \"explicit oracle 1\", \"actual\": [[], [1]], \"expected\": [[], [1]], \"passed\": true}, {\"check\": \"explicit oracle 2\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"explicit oracle 3\", \"actual\": [[7, 2, 0], []], \"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":46.227,"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"}