FA-11011 / Audio playback scheduling / Open access
Scheduled start silence prefix · case 01
Playback starts at the beginning of the callback instead of the scheduled offset.
ROOT CAUSE
Playback starts at the beginning of the callback instead of the scheduled offset.
VERIFIED REPAIR
Apply the explicit PCM/playback contract: Render exactly nonnegative size samples for a sound starting after nonnegative delay frames, with silence before start and after source end.
Unsuccessful approach: Appending delay silence postpones silence rather than the sound onset.
Case contract
Render exactly nonnegative size samples for a sound starting after nonnegative delay frames, with silence before start and after source end.
Why this case matters
A pure Python local audio pipeline stage with explicit sample formats and frame conventions; no real-time device or signal-spectrum claims.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(samples, delay, size):
return list(samples[:size])+[0]*max(0,size-len(samples))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([1, 2], 2, 5)),[0, 0, 1, 2, 0])
check('fixture 2',solve(*([1, 2], 0, 2)),[1, 2])
check('fixture 3',solve(*([1], 4, 2)),[0, 0])
check('fixture 4',solve(*([], 1, 3)),[0, 0, 0])
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 |
|---|---|---|---|
| fixture 1 | [1, 2, 0, 0, 0] | [0, 0, 1, 2, 0] | Failed |
| fixture 2 | [1, 2] | [1, 2] | Passed |
| fixture 3 | [1, 0] | [0, 0] | Failed |
| fixture 4 | [0, 0, 0] | [0, 0, 0] | Passed |
SHA-256 / bde25f98f33725ec78a2c7861bfcbe04380b919932ea6ce71dbf547b79ecb099
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(samples, delay, size):
return list(samples[:max(0,size-delay)])+[0]*min(delay,size)
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([1, 2], 2, 5)),[0, 0, 1, 2, 0])
check('fixture 2',solve(*([1, 2], 0, 2)),[1, 2])
check('fixture 3',solve(*([1], 4, 2)),[0, 0])
check('fixture 4',solve(*([], 1, 3)),[0, 0, 0])
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 |
|---|---|---|---|
| fixture 1 | [1, 2, 0, 0] | [0, 0, 1, 2, 0] | Failed |
| fixture 2 | [1, 2] | [1, 2] | Passed |
| fixture 3 | [0, 0] | [0, 0] | Passed |
| fixture 4 | [0] | [0, 0, 0] | Failed |
SHA-256 / b2534cfbf33860d16c1eb2401376fae957b7e5e8e7ec0bb9fba2984066ae9787
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(samples, delay, size):
return ([0]*delay+list(samples))[:size]+[0]*max(0,size-delay-len(samples))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([1, 2], 2, 5)),[0, 0, 1, 2, 0])
check('fixture 2',solve(*([1, 2], 0, 2)),[1, 2])
check('fixture 3',solve(*([1], 4, 2)),[0, 0])
check('fixture 4',solve(*([], 1, 3)),[0, 0, 0])
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 |
|---|---|---|---|
| fixture 1 | [0, 0, 1, 2, 0] | [0, 0, 1, 2, 0] | Passed |
| fixture 2 | [1, 2] | [1, 2] | Passed |
| fixture 3 | [0, 0] | [0, 0] | Passed |
| fixture 4 | [0, 0, 0] | [0, 0, 0] | Passed |
SHA-256 / ba36cf38795c7c8c4c0675170a06e19897934a0fdbdfee5eaa59f06454474afc
Verification & scope
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-29T14:38:44.215437+00:00.
Case digest / d78faf69e94c8abdf0056c25e11d4241e681429f21da09836049205bbb1e2fa8