{"abstract":"Pay-as-bid settlement treats every fill as one unit.","category":"Auction allocation rules","checks":6,"contract":"Given [bid-price, filled-units] rows of nonnegative integers, return each order charge price*filled-units; zero fill pays zero.","evaluation_group":"model-9e5a37f9e6ee9455","failed_approach":"Suppressing the charge for zero fills still charges just one unit price for multiple filled units.","family":"z-auction_matching-pay-as-bid","id":"FA-12711","implementations":{"attempt":{"sha256":"6626cbae7cfa90d0550657f741a888dd5c4ac537502f739e449232bc229ff0db","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    return [p if q else 0 for p,q in rows]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multi-unit fill', solve([[10+N,3],[5,0]]), [(10+N)*3,0])\ncheck('single unit', solve([[9,1]]), [9])\ncheck('zero price', solve([[0,5]]), [0])\ncheck('no rows', solve([]), [])\ncheck('several fills', solve([[3,2],[4,5]]), [6,20])\ncheck('all unfilled', solve([[7,0],[8,0]]), [0,0])\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":"0c745ca4d3ab667cc3efe68a6137019b384893e8ea10588e549ba9342f9aef0b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    return [p for p,q in rows]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multi-unit fill', solve([[10+N,3],[5,0]]), [(10+N)*3,0])\ncheck('single unit', solve([[9,1]]), [9])\ncheck('zero price', solve([[0,5]]), [0])\ncheck('no rows', solve([]), [])\ncheck('several fills', solve([[3,2],[4,5]]), [6,20])\ncheck('all unfilled', solve([[7,0],[8,0]]), [0,0])\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":"f07e556309c2f9dd8deb512ea95a0b72d32ae62fef40cccd472c417492168aa4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    return [p*q for p,q in rows]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multi-unit fill', solve([[10+N,3],[5,0]]), [(10+N)*3,0])\ncheck('single unit', solve([[9,1]]), [9])\ncheck('zero price', solve([[0,5]]), [0])\ncheck('no rows', solve([]), [])\ncheck('several fills', solve([[3,2],[4,5]]), [6,20])\ncheck('all unfilled', solve([[7,0],[8,0]]), [0,0])\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":"Offline toy model with explicit integer inputs; no strategic behavior or real market execution. 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-auction_matching-pay-as-bid","generated_at":"2026-09-29T14:38:59.432951+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Deterministic teaching model for reviewing auction allocation software; not a representation of any venue or financial advice.","repair":"Implement the stated toy allocation contract directly: Given [bid-price, filled-units] rows of nonnegative integers, return each order charge price*filled-units; zero fill pays zero.","root_cause":"Settlement omits filled quantities and charges each submitted order one unit price.","sha256":"378cb593bba1e5f3902e4e0a58127d3da009861aad6ebd38ebab78efb9bc164f","title":"Pay-as-bid settlement treats every fill as one unit · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.972,"exit_code":1,"observations":[{"actual":[11,0],"check":"multi-unit fill","expected":[33,0],"passed":false},{"actual":[9],"check":"single unit","expected":[9],"passed":true},{"actual":[0],"check":"zero price","expected":[0],"passed":true},{"actual":[],"check":"no rows","expected":[],"passed":true},{"actual":[3,4],"check":"several fills","expected":[6,20],"passed":false},{"actual":[0,0],"check":"all unfilled","expected":[0,0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multi-unit fill\", \"actual\": [11, 0], \"expected\": [33, 0], \"passed\": false}, {\"check\": \"single unit\", \"actual\": [9], \"expected\": [9], \"passed\": true}, {\"check\": \"zero price\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"no rows\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"several fills\", \"actual\": [3, 4], \"expected\": [6, 20], \"passed\": false}, {\"check\": \"all unfilled\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.407,"exit_code":1,"observations":[{"actual":[11,5],"check":"multi-unit fill","expected":[33,0],"passed":false},{"actual":[9],"check":"single unit","expected":[9],"passed":true},{"actual":[0],"check":"zero price","expected":[0],"passed":true},{"actual":[],"check":"no rows","expected":[],"passed":true},{"actual":[3,4],"check":"several fills","expected":[6,20],"passed":false},{"actual":[7,8],"check":"all unfilled","expected":[0,0],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multi-unit fill\", \"actual\": [11, 5], \"expected\": [33, 0], \"passed\": false}, {\"check\": \"single unit\", \"actual\": [9], \"expected\": [9], \"passed\": true}, {\"check\": \"zero price\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"no rows\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"several fills\", \"actual\": [3, 4], \"expected\": [6, 20], \"passed\": false}, {\"check\": \"all unfilled\", \"actual\": [7, 8], \"expected\": [0, 0], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.742,"exit_code":0,"observations":[{"actual":[33,0],"check":"multi-unit fill","expected":[33,0],"passed":true},{"actual":[9],"check":"single unit","expected":[9],"passed":true},{"actual":[0],"check":"zero price","expected":[0],"passed":true},{"actual":[],"check":"no rows","expected":[],"passed":true},{"actual":[6,20],"check":"several fills","expected":[6,20],"passed":true},{"actual":[0,0],"check":"all unfilled","expected":[0,0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multi-unit fill\", \"actual\": [33, 0], \"expected\": [33, 0], \"passed\": true}, {\"check\": \"single unit\", \"actual\": [9], \"expected\": [9], \"passed\": true}, {\"check\": \"zero price\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"no rows\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"several fills\", \"actual\": [6, 20], \"expected\": [6, 20], \"passed\": true}, {\"check\": \"all unfilled\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}