{"abstract":"Token ID zero is treated as a disabled stop token.","category":"Model output stopping rules","checks":6,"contract":"Given generated token IDs and a set of stop IDs, truncate before the first stop ID. Zero is an ordinary valid ID. Return (prefix, found_bool).","contract_signature":"tokens, stop_ids","evaluation_group":"w3-output-zero-stop","failed_approach":"Recognizing the ID while retaining it leaves the stop marker visible in returned output.","family":"w3-model-output-stopping-rules-stop-token-zero","id":"FA-100751","implementations":{"attempt":{"sha256":"7e82458f88955dbce38509c58983a6fc4faf113bd95cf4c09d41623944a3efb0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(tokens, stop_ids):\n    for i,t in enumerate(tokens):\n        if t in stop_ids:return tokens[:i+1],True\n    return tokens,False\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('zero stop',solve([4,0,7],[0]),([4],True))\ncheck('nonzero stop',solve([2,3,5],[5]),([2,3],True))\ncheck('zero not configured',solve([0,1],[8]),([0,1],False))\ncheck('stop first',solve([0,1],[0]),([],True))\ncheck('empty tokens',solve([],[0]),([],False))\ncheck('repeat before stop',solve([3,3,0],[0]),([3,3],True))\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":"e4b664703bd8b3e52baa5d10c42a8105eee103d2c953074f86472836f8b8ab8d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(tokens, stop_ids):\n    for i,t in enumerate(tokens):\n        if t and t in stop_ids:return tokens[:i],True\n    return tokens,False\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('zero stop',solve([4,0,7],[0]),([4],True))\ncheck('nonzero stop',solve([2,3,5],[5]),([2,3],True))\ncheck('zero not configured',solve([0,1],[8]),([0,1],False))\ncheck('stop first',solve([0,1],[0]),([],True))\ncheck('empty tokens',solve([],[0]),([],False))\ncheck('repeat before stop',solve([3,3,0],[0]),([3,3],True))\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 toy contract covers the supplied token records only; it does not claim compatibility with a particular model runtime or tokenizer. 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-model-output-stopping-rules-stop-token-zero","generated_at":"2026-09-30T16:48:39.096211+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic output-control model isolates one finish or streaming boundary from any particular runtime.","root_cause":"A truthiness check conflates token ID zero with the absence of a token.","sha256":"1a039ef18af642477ef3bcb935e2b775300ac943fceb670a7e4eb35a1e3d1bb6","title":"Output stopping: Token ID zero is treated as a disabled stop token · case 01","variant":1,"variant_policy":"The same explicitly authored fixtures repeat across all five numbered records; runtime N is unused. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":34.231,"exit_code":1,"observations":[{"actual":[[4,0],true],"check":"zero stop","expected":[[4],true],"passed":false},{"actual":[[2,3,5],true],"check":"nonzero stop","expected":[[2,3],true],"passed":false},{"actual":[[0,1],false],"check":"zero not configured","expected":[[0,1],false],"passed":true},{"actual":[[0],true],"check":"stop first","expected":[[],true],"passed":false},{"actual":[[],false],"check":"empty tokens","expected":[[],false],"passed":true},{"actual":[[3,3,0],true],"check":"repeat before stop","expected":[[3,3],true],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"zero stop\", \"actual\": [[4, 0], true], \"expected\": [[4], true], \"passed\": false}, {\"check\": \"nonzero stop\", \"actual\": [[2, 3, 5], true], \"expected\": [[2, 3], true], \"passed\": false}, {\"check\": \"zero not configured\", \"actual\": [[0, 1], false], \"expected\": [[0, 1], false], \"passed\": true}, {\"check\": \"stop first\", \"actual\": [[0], true], \"expected\": [[], true], \"passed\": false}, {\"check\": \"empty tokens\", \"actual\": [[], false], \"expected\": [[], false], \"passed\": true}, {\"check\": \"repeat before stop\", \"actual\": [[3, 3, 0], true], \"expected\": [[3, 3], true], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":33.318,"exit_code":1,"observations":[{"actual":[[4,0,7],false],"check":"zero stop","expected":[[4],true],"passed":false},{"actual":[[2,3],true],"check":"nonzero stop","expected":[[2,3],true],"passed":true},{"actual":[[0,1],false],"check":"zero not configured","expected":[[0,1],false],"passed":true},{"actual":[[0,1],false],"check":"stop first","expected":[[],true],"passed":false},{"actual":[[],false],"check":"empty tokens","expected":[[],false],"passed":true},{"actual":[[3,3,0],false],"check":"repeat before stop","expected":[[3,3],true],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"zero stop\", \"actual\": [[4, 0, 7], false], \"expected\": [[4], true], \"passed\": false}, {\"check\": \"nonzero stop\", \"actual\": [[2, 3], true], \"expected\": [[2, 3], true], \"passed\": true}, {\"check\": \"zero not configured\", \"actual\": [[0, 1], false], \"expected\": [[0, 1], false], \"passed\": true}, {\"check\": \"stop first\", \"actual\": [[0, 1], false], \"expected\": [[], true], \"passed\": false}, {\"check\": \"empty tokens\", \"actual\": [[], false], \"expected\": [[], false], \"passed\": true}, {\"check\": \"repeat before stop\", \"actual\": [[3, 3, 0], false], \"expected\": [[3, 3], true], \"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."}}