{"abstract":"Unaccepted proposal count is inflated by a replacement slot.","category":"Speculative decoding bookkeeping","checks":7,"contract":"Return draft length minus accepted prefix length.","contract_signature":"draft, accepted","evaluation_group":"spec-rejection-residual","failed_approach":"Using the total output count as residual swaps accepted and rejected accounting.","family":"w3-speculative-decoding-bookkeeping-rejection-residual","id":"FA-100711","implementations":{"attempt":{"sha256":"d423ac48b81d9c21dd8c4fed88596e2585d9af0380ec52f371845a60c3fd21c9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(draft, accepted):\n    return accepted\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('partial residual', solve([1,2,3],1),2)\ncheck('reject all', solve([1,2],0),2)\ncheck('all accepted', solve([1,2],2),0)\ncheck('empty', solve([],0),0)\ncheck('singleton reject', solve([N],0),1)\ncheck('single accepted', solve([N],1),0)\ncheck('long suffix', solve([1,2,3,4,5],2),3)\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":"d2fd1be9cacf061e76a84e67ffa9b51ca060ee2da6a4897a0409e59e66198b33","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(draft, accepted):\n    return len(draft)-accepted+1\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('partial residual', solve([1,2,3],1),2)\ncheck('reject all', solve([1,2],0),2)\ncheck('all accepted', solve([1,2],2),0)\ncheck('empty', solve([],0),0)\ncheck('singleton reject', solve([N],0),1)\ncheck('single accepted', solve([N],1),0)\ncheck('long suffix', solve([1,2,3,4,5],2),3)\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":"These are finite toy sequences with explicit contracts; they make no claim about production decoder behavior or model quality. 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":"w3-speculative-decoding-bookkeeping-rejection-residual","generated_at":"2026-09-30T16:48:38.598381+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A self-contained bookkeeping model makes prefix and token-count semantics observable without a model runtime.","root_cause":"The replacement token is incorrectly included among rejected draft tokens.","sha256":"2861db9c0accb29c6d6b7a68f8d2ebcc012fbf2ae4b3fc1970e6d162f27beb39","title":"Decoding: Unaccepted proposal count is inflated by a replacement slot · case 01","variant":1,"variant_policy":"The fixture code references N, supplied as 1 through 5. Fixed boundary checks may repeat. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":31.143,"exit_code":1,"observations":[{"actual":1,"check":"partial residual","expected":2,"passed":false},{"actual":0,"check":"reject all","expected":2,"passed":false},{"actual":2,"check":"all accepted","expected":0,"passed":false},{"actual":0,"check":"empty","expected":0,"passed":true},{"actual":0,"check":"singleton reject","expected":1,"passed":false},{"actual":1,"check":"single accepted","expected":0,"passed":false},{"actual":2,"check":"long suffix","expected":3,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"partial residual\", \"actual\": 1, \"expected\": 2, \"passed\": false}, {\"check\": \"reject all\", \"actual\": 0, \"expected\": 2, \"passed\": false}, {\"check\": \"all accepted\", \"actual\": 2, \"expected\": 0, \"passed\": false}, {\"check\": \"empty\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"singleton reject\", \"actual\": 0, \"expected\": 1, \"passed\": false}, {\"check\": \"single accepted\", \"actual\": 1, \"expected\": 0, \"passed\": false}, {\"check\": \"long suffix\", \"actual\": 2, \"expected\": 3, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":31.256,"exit_code":1,"observations":[{"actual":3,"check":"partial residual","expected":2,"passed":false},{"actual":3,"check":"reject all","expected":2,"passed":false},{"actual":1,"check":"all accepted","expected":0,"passed":false},{"actual":1,"check":"empty","expected":0,"passed":false},{"actual":2,"check":"singleton reject","expected":1,"passed":false},{"actual":1,"check":"single accepted","expected":0,"passed":false},{"actual":4,"check":"long suffix","expected":3,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"partial residual\", \"actual\": 3, \"expected\": 2, \"passed\": false}, {\"check\": \"reject all\", \"actual\": 3, \"expected\": 2, \"passed\": false}, {\"check\": \"all accepted\", \"actual\": 1, \"expected\": 0, \"passed\": false}, {\"check\": \"empty\", \"actual\": 1, \"expected\": 0, \"passed\": false}, {\"check\": \"singleton reject\", \"actual\": 2, \"expected\": 1, \"passed\": false}, {\"check\": \"single accepted\", \"actual\": 1, \"expected\": 0, \"passed\": false}, {\"check\": \"long suffix\", \"actual\": 4, \"expected\": 3, \"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."}}