{"abstract":"A stop token in the prompt prematurely ends generated output.","category":"Model output stopping rules","checks":6,"contract":"Inspect only generated IDs for stop membership; prompt IDs never terminate generated output. Return the generated prefix before the first stop and a bool.","contract_signature":"prompt, generated, stop_ids","evaluation_group":"w3-output-generated-scan","failed_approach":"Skipping position zero misses a stop as the first generated token.","family":"w3-model-output-stopping-rules-prompt-stop-exclusion","id":"FA-100801","implementations":{"attempt":{"sha256":"2272b122afe62e1567a88051b1827e6d8a6204da2a3282df57453f496d7d5709","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(prompt, generated, stop_ids):\n    for i,t in enumerate(generated):\n        if t in stop_ids and i>0:return generated[:i],True\n    return generated,False\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('prompt stop ignored',solve([8],[1,2],[8]),([1,2],False))\ncheck('generated first stop',solve([8],[8,1],[8]),([],True))\ncheck('generated later stop',solve([2],[1,8,3],[8]),([1],True))\ncheck('no generated stop',solve([8],[1,2],[9]),([1,2],False))\ncheck('empty generation',solve([8],[],[8]),([],False))\ncheck('zero stop valid',solve([], [0,2],[0]),([],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":"4bf6cb6de8923d499be7f46c200b60e07f94fc61e00f276ad3f99f95397b6aff","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(prompt, generated, stop_ids):\n    combined=prompt+generated\n    for i,t in enumerate(combined):\n        if t in stop_ids:return combined[:i],True\n    return generated,False\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('prompt stop ignored',solve([8],[1,2],[8]),([1,2],False))\ncheck('generated first stop',solve([8],[8,1],[8]),([],True))\ncheck('generated later stop',solve([2],[1,8,3],[8]),([1],True))\ncheck('no generated stop',solve([8],[1,2],[9]),([1,2],False))\ncheck('empty generation',solve([8],[],[8]),([],False))\ncheck('zero stop valid',solve([], [0,2],[0]),([],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-prompt-stop-exclusion","generated_at":"2026-09-30T16:48:40.025331+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":"Prompt and generated IDs share one scan, allowing prompt content to terminate new output.","sha256":"dcd82e8d6bd13a9fbe0d85c91f9d210805ba23f9ce0736225c0037971376853d","title":"Output stopping: A stop token in the prompt prematurely ends generated output · 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":29.651,"exit_code":1,"observations":[{"actual":[[1,2],false],"check":"prompt stop ignored","expected":[[1,2],false],"passed":true},{"actual":[[8,1],false],"check":"generated first stop","expected":[[],true],"passed":false},{"actual":[[1],true],"check":"generated later stop","expected":[[1],true],"passed":true},{"actual":[[1,2],false],"check":"no generated stop","expected":[[1,2],false],"passed":true},{"actual":[[],false],"check":"empty generation","expected":[[],false],"passed":true},{"actual":[[0,2],false],"check":"zero stop valid","expected":[[],true],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"prompt stop ignored\", \"actual\": [[1, 2], false], \"expected\": [[1, 2], false], \"passed\": true}, {\"check\": \"generated first stop\", \"actual\": [[8, 1], false], \"expected\": [[], true], \"passed\": false}, {\"check\": \"generated later stop\", \"actual\": [[1], true], \"expected\": [[1], true], \"passed\": true}, {\"check\": \"no generated stop\", \"actual\": [[1, 2], false], \"expected\": [[1, 2], false], \"passed\": true}, {\"check\": \"empty generation\", \"actual\": [[], false], \"expected\": [[], false], \"passed\": true}, {\"check\": \"zero stop valid\", \"actual\": [[0, 2], false], \"expected\": [[], true], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":28.387,"exit_code":1,"observations":[{"actual":[[],true],"check":"prompt stop ignored","expected":[[1,2],false],"passed":false},{"actual":[[],true],"check":"generated first stop","expected":[[],true],"passed":true},{"actual":[[2,1],true],"check":"generated later stop","expected":[[1],true],"passed":false},{"actual":[[1,2],false],"check":"no generated stop","expected":[[1,2],false],"passed":true},{"actual":[[],true],"check":"empty generation","expected":[[],false],"passed":false},{"actual":[[],true],"check":"zero stop valid","expected":[[],true],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"prompt stop ignored\", \"actual\": [[], true], \"expected\": [[1, 2], false], \"passed\": false}, {\"check\": \"generated first stop\", \"actual\": [[], true], \"expected\": [[], true], \"passed\": true}, {\"check\": \"generated later stop\", \"actual\": [[2, 1], true], \"expected\": [[1], true], \"passed\": false}, {\"check\": \"no generated stop\", \"actual\": [[1, 2], false], \"expected\": [[1, 2], false], \"passed\": true}, {\"check\": \"empty generation\", \"actual\": [[], true], \"expected\": [[], false], \"passed\": false}, {\"check\": \"zero stop valid\", \"actual\": [[], true], \"expected\": [[], true], \"passed\": true}], \"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."}}