FA-100821 / Model output stopping rules / Open access
Output stopping: A full token budget is not reported as a length finish · case 01
A full token budget is not reported as a length finish.
ROOT CAUSE
A strict comparison misses output that fills the configured token budget exactly.
THE FAILURE
A strict comparison misses output that fills the configured token budget exactly.
Unsuccessful approach: Testing equality alone handles an exact fill but misses an already-over-budget count.
Case contract
Return length when the emitted token count has reached or exceeded the nonnegative cap; otherwise return None. This includes cap zero with an empty output.
Why this case matters
A deterministic output-control model isolates one finish or streaming boundary from any particular runtime.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(tokens, cap):
return 'length' if len(tokens)>cap else None
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('exact cap',solve(list(range(N)),N),'length')
check('below cap',solve(list(range(max(0,N-1))),N),None)
check('over cap',solve(list(range(N+1)),N),'length')
check('zero cap empty',solve([],0),'length')
check('positive cap empty',solve([],N),None)
check('singleton cap',solve([7],1),'length')
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| exact cap | None | length | Failed |
| below cap | None | None | Passed |
| over cap | length | length | Passed |
| zero cap empty | None | length | Failed |
| positive cap empty | None | None | Passed |
| singleton cap | None | length | Failed |
SHA-256 / d5867e34a1aef3b2d7d1d4ab2628755cc869b4f04cf778228429b50782111e3a
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(tokens, cap):
return 'length' if len(tokens)==cap else None
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('exact cap',solve(list(range(N)),N),'length')
check('below cap',solve(list(range(max(0,N-1))),N),None)
check('over cap',solve(list(range(N+1)),N),'length')
check('zero cap empty',solve([],0),'length')
check('positive cap empty',solve([],N),None)
check('singleton cap',solve([7],1),'length')
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| exact cap | length | length | Passed |
| below cap | None | None | Passed |
| over cap | None | length | Failed |
| zero cap empty | length | length | Passed |
| positive cap empty | None | None | Passed |
| singleton cap | length | length | Passed |
SHA-256 / 9cafcd86df8599506836edb74624c33ca1e004c4e2244f7866325b07fffb870e
HELD IN THE MEMBER ARCHIVE
The verified repair and its recorded checks are member-only.
This mechanism has 6 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.
Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.
Member access is invitation-based. Sign in with your invited account to inspect the repair.
Sign in to the archive ↗Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-30T16:48:40.054341+00:00.
Case digest / e41789123dbd93727b57a3cc82724f48df7673d043bd18a86672afab359dd4e2