{"abstract":"The exact newton divided difference table result violates the stated contract at node span denominator.","category":"Numerics","checks":8,"contract":"Input distinct integer nodes and integer values [nodes,values]; return Newton coefficients [p,q] in original node order.","contract_signature":"x","evaluation_group":"s3-numerics-newton-divided-difference-table","failed_approach":"The partial repair nodes[i-order]-nodes[i] still violates the node span denominator invariant.","family":"s3-numerics-newton-divided-difference-table-node-span-denominator","id":"FA-14701","implementations":{"attempt":{"sha256":"6cb5bd02fa2d61eb8514c31e955e1d07de5ccc2a53236d8d18966840d9d85860","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    nodes,values=x\n    c=list(map(Fraction,values));n=len(c)\n    for order in range(1,n):\n     for i in range(n-1,order-1,-1):\n      den=nodes[i-order]-nodes[i]\n      if den==0:return None\n      c[i]=(c[i]-c[i-1])/den\n    return [[v.numerator,v.denominator] for v in c]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([[-2, 0, 3], [-1, -1, 0]], [[-1, 1], [0, 1], [1, 15]]), ([[-2, 0, 3], [-1, 0, -1]], [[-1, 1], [1, 2], [-1, 6]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[-2, 0, 3], [-1, -1, 1]], [[-1, 1], [0, 1], [2, 15]]), ([[-2, 0, 3], [-1, -1, 2]], [[-1, 1], [0, 1], [1, 5]]), ([[-2, 0, 3], [-1, 0, 0]], [[-1, 1], [1, 2], [-1, 10]]), ([[-2, 0, 3], [-1, 0, 1]], [[-1, 1], [1, 2], [-1, 30]])], [([[-2, 0, 3], [-1, -1, 1]], [[-1, 1], [0, 1], [2, 15]]), ([[-2, 0, 3], [-1, 0, 2]], [[-1, 1], [1, 2], [1, 30]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[-2, 0, 3], [0, -1, 0]], [[0, 1], [-1, 2], [1, 6]]), ([[-2, 0, 3], [0, -1, 1]], [[0, 1], [-1, 2], [7, 30]]), ([[-2, 0, 3], [0, -1, 2]], [[0, 1], [-1, 2], [3, 10]]), ([[-2, 0, 3], [0, 0, -1]], [[0, 1], [0, 1], [-1, 15]])], [([[-2, 0, 3], [-1, -1, 2]], [[-1, 1], [0, 1], [1, 5]]), ([[-2, 0, 3], [-1, 1, 1]], [[-1, 1], [1, 1], [-1, 5]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[-2, 0, 3], [1, -1, 1]], [[1, 1], [-1, 1], [1, 3]]), ([[-2, 0, 3], [1, -1, 2]], [[1, 1], [-1, 1], [2, 5]]), ([[-2, 0, 3], [1, 0, -1]], [[1, 1], [-1, 2], [1, 30]]), ([[-2, 0, 3], [1, 0, 0]], [[1, 1], [-1, 2], [1, 10]])], [([[-2, 0, 3], [-1, 0, -1]], [[-1, 1], [1, 2], [-1, 6]]), ([[-2, 0, 3], [-1, 2, 0]], [[-1, 1], [3, 2], [-13, 30]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[-2, 0, 3], [2, -1, 2]], [[2, 1], [-3, 2], [1, 2]]), ([[-2, 0, 3], [2, 0, -1]], [[2, 1], [-1, 1], [2, 15]]), ([[-2, 0, 3], [2, 0, 0]], [[2, 1], [-1, 1], [1, 5]]), ([[-2, 0, 3], [2, 0, 1]], [[2, 1], [-1, 1], [4, 15]])], [([[-2, 0, 3], [-1, 0, 0]], [[-1, 1], [1, 2], [-1, 10]]), ([[-2, 0, 3], [0, -1, -1]], [[0, 1], [-1, 2], [1, 10]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[0, 1, 2], [-1, 0, -1]], [[-1, 1], [1, 1], [-1, 1]]), ([[0, 1, 2], [-1, 0, 0]], [[-1, 1], [1, 1], [-1, 2]]), ([[0, 1, 2], [-1, 0, 1]], [[-1, 1], [1, 1], [0, 1]]), ([[0, 1, 2], [-1, 0, 2]], [[-1, 1], [1, 1], [1, 2]])]]\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":"aea16420477ddb966e51cd882ecbcd743c40e90823fc926fe452b387de1b3a40","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    nodes,values=x\n    c=list(map(Fraction,values));n=len(c)\n    for order in range(1,n):\n     for i in range(n-1,order-1,-1):\n      den=nodes[i]-nodes[i-1]\n      if den==0:return None\n      c[i]=(c[i]-c[i-1])/den\n    return [[v.numerator,v.denominator] for v in c]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([[-2, 0, 3], [-1, -1, 0]], [[-1, 1], [0, 1], [1, 15]]), ([[-2, 0, 3], [-1, 0, -1]], [[-1, 1], [1, 2], [-1, 6]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[-2, 0, 3], [-1, -1, 1]], [[-1, 1], [0, 1], [2, 15]]), ([[-2, 0, 3], [-1, -1, 2]], [[-1, 1], [0, 1], [1, 5]]), ([[-2, 0, 3], [-1, 0, 0]], [[-1, 1], [1, 2], [-1, 10]]), ([[-2, 0, 3], [-1, 0, 1]], [[-1, 1], [1, 2], [-1, 30]])], [([[-2, 0, 3], [-1, -1, 1]], [[-1, 1], [0, 1], [2, 15]]), ([[-2, 0, 3], [-1, 0, 2]], [[-1, 1], [1, 2], [1, 30]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[-2, 0, 3], [0, -1, 0]], [[0, 1], [-1, 2], [1, 6]]), ([[-2, 0, 3], [0, -1, 1]], [[0, 1], [-1, 2], [7, 30]]), ([[-2, 0, 3], [0, -1, 2]], [[0, 1], [-1, 2], [3, 10]]), ([[-2, 0, 3], [0, 0, -1]], [[0, 1], [0, 1], [-1, 15]])], [([[-2, 0, 3], [-1, -1, 2]], [[-1, 1], [0, 1], [1, 5]]), ([[-2, 0, 3], [-1, 1, 1]], [[-1, 1], [1, 1], [-1, 5]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[-2, 0, 3], [1, -1, 1]], [[1, 1], [-1, 1], [1, 3]]), ([[-2, 0, 3], [1, -1, 2]], [[1, 1], [-1, 1], [2, 5]]), ([[-2, 0, 3], [1, 0, -1]], [[1, 1], [-1, 2], [1, 30]]), ([[-2, 0, 3], [1, 0, 0]], [[1, 1], [-1, 2], [1, 10]])], [([[-2, 0, 3], [-1, 0, -1]], [[-1, 1], [1, 2], [-1, 6]]), ([[-2, 0, 3], [-1, 2, 0]], [[-1, 1], [3, 2], [-13, 30]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[-2, 0, 3], [2, -1, 2]], [[2, 1], [-3, 2], [1, 2]]), ([[-2, 0, 3], [2, 0, -1]], [[2, 1], [-1, 1], [2, 15]]), ([[-2, 0, 3], [2, 0, 0]], [[2, 1], [-1, 1], [1, 5]]), ([[-2, 0, 3], [2, 0, 1]], [[2, 1], [-1, 1], [4, 15]])], [([[-2, 0, 3], [-1, 0, 0]], [[-1, 1], [1, 2], [-1, 10]]), ([[-2, 0, 3], [0, -1, -1]], [[0, 1], [-1, 2], [1, 10]]), ([[-2, 0, 3], [-1, -1, -1]], [[-1, 1], [0, 1], [0, 1]]), ([[0, 2, 3, 7], [2, 2, 2, 2]], [[2, 1], [0, 1], [0, 1], [0, 1]]), ([[0, 1, 2], [-1, 0, -1]], [[-1, 1], [1, 1], [-1, 1]]), ([[0, 1, 2], [-1, 0, 0]], [[-1, 1], [1, 1], [-1, 2]]), ([[0, 1, 2], [-1, 0, 1]], [[-1, 1], [1, 1], [0, 1]]), ([[0, 1, 2], [-1, 0, 2]], [[-1, 1], [1, 1], [1, 2]])]]\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-newton-divided-difference-table-node-span-denominator","generated_at":"2026-09-29T14:39:19.564037+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.","root_cause":"The node span denominator step uses nodes[i]-nodes[i-1] instead of nodes[i]-nodes[i-order].","sha256":"0c22117053347da30d54caf55f4cc813ec8ad5c5600479c41242d8d421640693","title":"Newton divided difference table: node span denominator · 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.65,"exit_code":1,"observations":[{"actual":[[-1,1],[0,1],[1,15]],"check":"explicit oracle 0","expected":[[-1,1],[0,1],[1,15]],"passed":true},{"actual":[[-1,1],[-1,2],[-1,6]],"check":"explicit oracle 1","expected":[[-1,1],[1,2],[-1,6]],"passed":false},{"actual":[[-1,1],[0,1],[0,1]],"check":"explicit oracle 2","expected":[[-1,1],[0,1],[0,1]],"passed":true},{"actual":[[2,1],[0,1],[0,1],[0,1]],"check":"explicit oracle 3","expected":[[2,1],[0,1],[0,1],[0,1]],"passed":true},{"actual":[[-1,1],[0,1],[2,15]],"check":"explicit oracle 4","expected":[[-1,1],[0,1],[2,15]],"passed":true},{"actual":[[-1,1],[0,1],[1,5]],"check":"explicit oracle 5","expected":[[-1,1],[0,1],[1,5]],"passed":true},{"actual":[[-1,1],[-1,2],[-1,10]],"check":"explicit oracle 6","expected":[[-1,1],[1,2],[-1,10]],"passed":false},{"actual":[[-1,1],[-1,2],[-1,30]],"check":"explicit oracle 7","expected":[[-1,1],[1,2],[-1,30]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit oracle 0\", \"actual\": [[-1, 1], [0, 1], [1, 15]], \"expected\": [[-1, 1], [0, 1], [1, 15]], \"passed\": true}, {\"check\": \"explicit oracle 1\", \"actual\": [[-1, 1], [-1, 2], [-1, 6]], \"expected\": [[-1, 1], [1, 2], [-1, 6]], \"passed\": false}, {\"check\": \"explicit oracle 2\", \"actual\": [[-1, 1], [0, 1], [0, 1]], \"expected\": [[-1, 1], [0, 1], [0, 1]], \"passed\": true}, {\"check\": \"explicit oracle 3\", \"actual\": [[2, 1], [0, 1], [0, 1], [0, 1]], \"expected\": [[2, 1], [0, 1], [0, 1], [0, 1]], \"passed\": true}, {\"check\": \"explicit oracle 4\", \"actual\": [[-1, 1], [0, 1], [2, 15]], \"expected\": [[-1, 1], [0, 1], [2, 15]], \"passed\": true}, {\"check\": \"explicit oracle 5\", \"actual\": [[-1, 1], [0, 1], [1, 5]], \"expected\": [[-1, 1], [0, 1], [1, 5]], \"passed\": true}, {\"check\": \"explicit oracle 6\", \"actual\": [[-1, 1], [-1, 2], [-1, 10]], \"expected\": [[-1, 1], [1, 2], [-1, 10]], \"passed\": false}, {\"check\": \"explicit oracle 7\", \"actual\": [[-1, 1], [-1, 2], [-1, 30]], \"expected\": [[-1, 1], [1, 2], [-1, 30]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.246,"exit_code":1,"observations":[{"actual":[[-1,1],[0,1],[1,9]],"check":"explicit oracle 0","expected":[[-1,1],[0,1],[1,15]],"passed":false},{"actual":[[-1,1],[1,2],[-5,18]],"check":"explicit oracle 1","expected":[[-1,1],[1,2],[-1,6]],"passed":false},{"actual":[[-1,1],[0,1],[0,1]],"check":"explicit oracle 2","expected":[[-1,1],[0,1],[0,1]],"passed":true},{"actual":[[2,1],[0,1],[0,1],[0,1]],"check":"explicit oracle 3","expected":[[2,1],[0,1],[0,1],[0,1]],"passed":true},{"actual":[[-1,1],[0,1],[2,9]],"check":"explicit oracle 4","expected":[[-1,1],[0,1],[2,15]],"passed":false},{"actual":[[-1,1],[0,1],[1,3]],"check":"explicit oracle 5","expected":[[-1,1],[0,1],[1,5]],"passed":false},{"actual":[[-1,1],[1,2],[-1,6]],"check":"explicit oracle 6","expected":[[-1,1],[1,2],[-1,10]],"passed":false},{"actual":[[-1,1],[1,2],[-1,18]],"check":"explicit oracle 7","expected":[[-1,1],[1,2],[-1,30]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit oracle 0\", \"actual\": [[-1, 1], [0, 1], [1, 9]], \"expected\": [[-1, 1], [0, 1], [1, 15]], \"passed\": false}, {\"check\": \"explicit oracle 1\", \"actual\": [[-1, 1], [1, 2], [-5, 18]], \"expected\": [[-1, 1], [1, 2], [-1, 6]], \"passed\": false}, {\"check\": \"explicit oracle 2\", \"actual\": [[-1, 1], [0, 1], [0, 1]], \"expected\": [[-1, 1], [0, 1], [0, 1]], \"passed\": true}, {\"check\": \"explicit oracle 3\", \"actual\": [[2, 1], [0, 1], [0, 1], [0, 1]], \"expected\": [[2, 1], [0, 1], [0, 1], [0, 1]], \"passed\": true}, {\"check\": \"explicit oracle 4\", \"actual\": [[-1, 1], [0, 1], [2, 9]], \"expected\": [[-1, 1], [0, 1], [2, 15]], \"passed\": false}, {\"check\": \"explicit oracle 5\", \"actual\": [[-1, 1], [0, 1], [1, 3]], \"expected\": [[-1, 1], [0, 1], [1, 5]], \"passed\": false}, {\"check\": \"explicit oracle 6\", \"actual\": [[-1, 1], [1, 2], [-1, 6]], \"expected\": [[-1, 1], [1, 2], [-1, 10]], \"passed\": false}, {\"check\": \"explicit oracle 7\", \"actual\": [[-1, 1], [1, 2], [-1, 18]], \"expected\": [[-1, 1], [1, 2], [-1, 30]], \"passed\": false}], \"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."}}