{"abstract":"Surplus transfer uses ballot count instead of ballot value.","category":"Voting rule computation","checks":6,"contract":"Given nonnegative integer ballot weights with positive total and quota between zero and total, return exact transferred fractions as strings; each weight transfers weight*(total-quota)/total.","evaluation_group":"model-0655d0bd98364207","failed_approach":"Equal redistribution preserves the total but destroys proportional ballot values.","family":"z-voting_rules-surplus-transfer","id":"FA-12766","implementations":{"attempt":{"sha256":"db9c554b587582521909d11d7e6c0e37784e246714377bf4ad51d4761146b171","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(weights, quota):\n    return [str(Fraction(sum(weights)-quota,len([w for w in weights if w]))) if w else \"0\" for w in weights]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('unequal incoming values', solve([N,2*N],N), [str(Fraction(2*N,3)),str(Fraction(4*N,3))])\ncheck('zero value retained', solve([0,N,2*N],N), ['0',str(Fraction(2*N,3)),str(Fraction(4*N,3))])\ncheck('no surplus', solve([N,2*N],3*N), ['0','0'])\ncheck('zero quota', solve([N,2*N],0), [str(N),str(2*N)])\ncheck('single ballot', solve([3*N],N), [str(2*N)])\ncheck('equal values', solve([N,N],N), [str(Fraction(N,2))]*2)\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":"f614a06b2aa91322ebf4116432db4cc2bbc6e6622ca7954bec0ca5053acf82f3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(weights, quota):\n    return [str(Fraction(sum(weights)-quota,len(weights))) for w in weights]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('unequal incoming values', solve([N,2*N],N), [str(Fraction(2*N,3)),str(Fraction(4*N,3))])\ncheck('zero value retained', solve([0,N,2*N],N), ['0',str(Fraction(2*N,3)),str(Fraction(4*N,3))])\ncheck('no surplus', solve([N,2*N],3*N), ['0','0'])\ncheck('zero quota', solve([N,2*N],0), [str(N),str(2*N)])\ncheck('single ballot', solve([3*N],N), [str(2*N)])\ncheck('equal values', solve([N,N],N), [str(Fraction(N,2))]*2)\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":"70e5ea75842e2f34899977cbd2d9c7c6ba8b0ad9edc2a20282ead78b41af79a3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(weights, quota):\n    total=sum(weights)\n    return [str(Fraction(w*(total-quota),total)) for w in weights]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('unequal incoming values', solve([N,2*N],N), [str(Fraction(2*N,3)),str(Fraction(4*N,3))])\ncheck('zero value retained', solve([0,N,2*N],N), ['0',str(Fraction(2*N,3)),str(Fraction(4*N,3))])\ncheck('no surplus', solve([N,2*N],3*N), ['0','0'])\ncheck('zero quota', solve([N,2*N],0), [str(N),str(2*N)])\ncheck('single ballot', solve([3*N],N), [str(2*N)])\ncheck('equal values', solve([N,N],N), [str(Fraction(N,2))]*2)\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":"Abstract counting rules only; excludes jurisdictional law, ballot authentication and election operations. 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":"z-voting_rules-surplus-transfer","generated_at":"2026-09-29T14:39:00.022252+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic toy ballot model makes the stated counting convention executable.","repair":"Multiply each weight by surplus divided by total incoming value using exact fractions.","root_cause":"The transfer factor ignores unequal incoming ballot weights.","sha256":"454308a1309ba4ab778a2c6c104ad28f581524d67bace46fc8906319bacc3b57","title":"Surplus transfer uses ballot count instead of ballot value · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.738,"exit_code":1,"observations":[{"actual":["1","1"],"check":"unequal incoming values","expected":["2/3","4/3"],"passed":false},{"actual":["0","1","1"],"check":"zero value retained","expected":["0","2/3","4/3"],"passed":false},{"actual":["0","0"],"check":"no surplus","expected":["0","0"],"passed":true},{"actual":["3/2","3/2"],"check":"zero quota","expected":["1","2"],"passed":false},{"actual":["2"],"check":"single ballot","expected":["2"],"passed":true},{"actual":["1/2","1/2"],"check":"equal values","expected":["1/2","1/2"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"unequal incoming values\", \"actual\": [\"1\", \"1\"], \"expected\": [\"2/3\", \"4/3\"], \"passed\": false}, {\"check\": \"zero value retained\", \"actual\": [\"0\", \"1\", \"1\"], \"expected\": [\"0\", \"2/3\", \"4/3\"], \"passed\": false}, {\"check\": \"no surplus\", \"actual\": [\"0\", \"0\"], \"expected\": [\"0\", \"0\"], \"passed\": true}, {\"check\": \"zero quota\", \"actual\": [\"3/2\", \"3/2\"], \"expected\": [\"1\", \"2\"], \"passed\": false}, {\"check\": \"single ballot\", \"actual\": [\"2\"], \"expected\": [\"2\"], \"passed\": true}, {\"check\": \"equal values\", \"actual\": [\"1/2\", \"1/2\"], \"expected\": [\"1/2\", \"1/2\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":48.305,"exit_code":1,"observations":[{"actual":["1","1"],"check":"unequal incoming values","expected":["2/3","4/3"],"passed":false},{"actual":["2/3","2/3","2/3"],"check":"zero value retained","expected":["0","2/3","4/3"],"passed":false},{"actual":["0","0"],"check":"no surplus","expected":["0","0"],"passed":true},{"actual":["3/2","3/2"],"check":"zero quota","expected":["1","2"],"passed":false},{"actual":["2"],"check":"single ballot","expected":["2"],"passed":true},{"actual":["1/2","1/2"],"check":"equal values","expected":["1/2","1/2"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"unequal incoming values\", \"actual\": [\"1\", \"1\"], \"expected\": [\"2/3\", \"4/3\"], \"passed\": false}, {\"check\": \"zero value retained\", \"actual\": [\"2/3\", \"2/3\", \"2/3\"], \"expected\": [\"0\", \"2/3\", \"4/3\"], \"passed\": false}, {\"check\": \"no surplus\", \"actual\": [\"0\", \"0\"], \"expected\": [\"0\", \"0\"], \"passed\": true}, {\"check\": \"zero quota\", \"actual\": [\"3/2\", \"3/2\"], \"expected\": [\"1\", \"2\"], \"passed\": false}, {\"check\": \"single ballot\", \"actual\": [\"2\"], \"expected\": [\"2\"], \"passed\": true}, {\"check\": \"equal values\", \"actual\": [\"1/2\", \"1/2\"], \"expected\": [\"1/2\", \"1/2\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.952,"exit_code":0,"observations":[{"actual":["2/3","4/3"],"check":"unequal incoming values","expected":["2/3","4/3"],"passed":true},{"actual":["0","2/3","4/3"],"check":"zero value retained","expected":["0","2/3","4/3"],"passed":true},{"actual":["0","0"],"check":"no surplus","expected":["0","0"],"passed":true},{"actual":["1","2"],"check":"zero quota","expected":["1","2"],"passed":true},{"actual":["2"],"check":"single ballot","expected":["2"],"passed":true},{"actual":["1/2","1/2"],"check":"equal values","expected":["1/2","1/2"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"unequal incoming values\", \"actual\": [\"2/3\", \"4/3\"], \"expected\": [\"2/3\", \"4/3\"], \"passed\": true}, {\"check\": \"zero value retained\", \"actual\": [\"0\", \"2/3\", \"4/3\"], \"expected\": [\"0\", \"2/3\", \"4/3\"], \"passed\": true}, {\"check\": \"no surplus\", \"actual\": [\"0\", \"0\"], \"expected\": [\"0\", \"0\"], \"passed\": true}, {\"check\": \"zero quota\", \"actual\": [\"1\", \"2\"], \"expected\": [\"1\", \"2\"], \"passed\": true}, {\"check\": \"single ballot\", \"actual\": [\"2\"], \"expected\": [\"2\"], \"passed\": true}, {\"check\": \"equal values\", \"actual\": [\"1/2\", \"1/2\"], \"expected\": [\"1/2\", \"1/2\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}