{"abstract":"Zipping stops at the shorter degree and loses coefficients.","category":"Polynomial arithmetic","checks":4,"contract":"Integer coefficients in ascending power order and integer evaluation bounds; missing high-degree coefficients are zero. Rational outputs are reduced Fraction strings; the zero-polynomial degree is -1. Polynomial add unequal degree. Exact operational definition: [sum(pair) for pair in itertools.zip_longest(a,b,fillvalue=0)]","evaluation_group":"model-819efa40ec6b90c7","failed_approach":"Concatenation shifts powers instead of combining equal degrees.","family":"xn-polynomial-add-unequal-degree","id":"FA-6121","implementations":{"attempt":{"sha256":"8153b4432ab26459ce1360b8b8aa40bdaef4353e02d93b3230700e9aa9546cb3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport calendar\nimport statistics\nimport itertools\nfrom fractions import Fraction\nfrom datetime import date, datetime, timedelta, timezone\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR\n\nN = 1\nobservations = []\ndef solve(a, b):\n    return a+b\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1: ([1, 2, 3], [4])', solve(*([1, 2, 3], [4])), [5, 2, 3])\ncheck('fixture 2: ([], [2, 3])', solve(*([], [2, 3])), [2, 3])\ncheck('fixture 3: ([1], [2, 3])', solve(*([1], [2, 3])), [3, 3])\ncheck('fixture 4: ([], [])', solve(*([], [])), [])\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":"075d40fec6b8b3c535edb349528356bbeb6142a79b6bbdf87f1a0d7384e07f91","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport calendar\nimport statistics\nimport itertools\nfrom fractions import Fraction\nfrom datetime import date, datetime, timedelta, timezone\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR\n\nN = 1\nobservations = []\ndef solve(a, b):\n    return [x+y for x,y in zip(a,b)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1: ([1, 2, 3], [4])', solve(*([1, 2, 3], [4])), [5, 2, 3])\ncheck('fixture 2: ([], [2, 3])', solve(*([], [2, 3])), [2, 3])\ncheck('fixture 3: ([1], [2, 3])', solve(*([1], [2, 3])), [3, 3])\ncheck('fixture 4: ([], [])', solve(*([], [])), [])\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":"793ce11498b791020db535caa59bc84f62b76e927839208ed249ba3a192e793d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport calendar\nimport statistics\nimport itertools\nfrom fractions import Fraction\nfrom datetime import date, datetime, timedelta, timezone\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR\n\nN = 1\nobservations = []\ndef solve(a, b):\n    return [sum(pair) for pair in itertools.zip_longest(a,b,fillvalue=0)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1: ([1, 2, 3], [4])', solve(*([1, 2, 3], [4])), [5, 2, 3])\ncheck('fixture 2: ([], [2, 3])', solve(*([], [2, 3])), [2, 3])\ncheck('fixture 3: ([1], [2, 3])', solve(*([1], [2, 3])), [3, 3])\ncheck('fixture 4: ([], [])', solve(*([], [])), [])\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":" 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":"xn-polynomial-add-unequal-degree","generated_at":"2026-09-29T14:37:57.844705+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Small exact fixtures expose this error without platform timing, external services, or probabilistic observations. Polynomial arithmetic results depend on the stated convention.","repair":"Apply the specified mathematical contract directly, preserving all terms and boundary cases: return [sum(pair) for pair in itertools.zip_longest(a,b,fillvalue=0)]","root_cause":"Zipping stops at the shorter degree and loses coefficients.","sha256":"096a37efec52b05c35bdfb65140fba6ce9f6f66443f2be3d1278bade737c7c00","title":"Polynomial add unequal degree · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.635,"exit_code":1,"observations":[{"actual":[1,2,3,4],"check":"fixture 1: ([1, 2, 3], [4])","expected":[5,2,3],"passed":false},{"actual":[2,3],"check":"fixture 2: ([], [2, 3])","expected":[2,3],"passed":true},{"actual":[1,2,3],"check":"fixture 3: ([1], [2, 3])","expected":[3,3],"passed":false},{"actual":[],"check":"fixture 4: ([], [])","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1: ([1, 2, 3], [4])\", \"actual\": [1, 2, 3, 4], \"expected\": [5, 2, 3], \"passed\": false}, {\"check\": \"fixture 2: ([], [2, 3])\", \"actual\": [2, 3], \"expected\": [2, 3], \"passed\": true}, {\"check\": \"fixture 3: ([1], [2, 3])\", \"actual\": [1, 2, 3], \"expected\": [3, 3], \"passed\": false}, {\"check\": \"fixture 4: ([], [])\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.5,"exit_code":1,"observations":[{"actual":[5],"check":"fixture 1: ([1, 2, 3], [4])","expected":[5,2,3],"passed":false},{"actual":[],"check":"fixture 2: ([], [2, 3])","expected":[2,3],"passed":false},{"actual":[3],"check":"fixture 3: ([1], [2, 3])","expected":[3,3],"passed":false},{"actual":[],"check":"fixture 4: ([], [])","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1: ([1, 2, 3], [4])\", \"actual\": [5], \"expected\": [5, 2, 3], \"passed\": false}, {\"check\": \"fixture 2: ([], [2, 3])\", \"actual\": [], \"expected\": [2, 3], \"passed\": false}, {\"check\": \"fixture 3: ([1], [2, 3])\", \"actual\": [3], \"expected\": [3, 3], \"passed\": false}, {\"check\": \"fixture 4: ([], [])\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.796,"exit_code":0,"observations":[{"actual":[5,2,3],"check":"fixture 1: ([1, 2, 3], [4])","expected":[5,2,3],"passed":true},{"actual":[2,3],"check":"fixture 2: ([], [2, 3])","expected":[2,3],"passed":true},{"actual":[3,3],"check":"fixture 3: ([1], [2, 3])","expected":[3,3],"passed":true},{"actual":[],"check":"fixture 4: ([], [])","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1: ([1, 2, 3], [4])\", \"actual\": [5, 2, 3], \"expected\": [5, 2, 3], \"passed\": true}, {\"check\": \"fixture 2: ([], [2, 3])\", \"actual\": [2, 3], \"expected\": [2, 3], \"passed\": true}, {\"check\": \"fixture 3: ([1], [2, 3])\", \"actual\": [3, 3], \"expected\": [3, 3], \"passed\": true}, {\"check\": \"fixture 4: ([], [])\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}