{"abstract":"Starting playback exactly at the loop end is accepted and immediately wraps, instead of being rejected.","category":"MIDI event timing","checks":8,"contract":"Input [loop_start, loop_end, events, from_tick, to_tick]. Playback runs over playback ticks p in [from, to). Song position is p while p < loop_end, afterwards loop_start + (p - loop_end) mod (loop_end - loop_start). Every event whose song tick equals the song position fires as [p, event_tick]. Requires 0 <= loop_start < loop_end and 0 <= from < loop_end, else None.","contract_signature":"x","evaluation_group":"w2-midi-event-timing-loop-playback","failed_approach":"Allowing one more tick is the same off-by-one.","family":"w2-midi-event-timing-loop-playback-start-position-check","id":"FA-81691","implementations":{"attempt":{"sha256":"78017c96e9a4a6a6d61fdf3209ebd4bf0f20f5baeea7f68b14d7494f4d87b895","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    if not isinstance(x, list) or len(x) != 5:\n        return None\n    ls, le, events, start, stop = x\n    if not 0 <= ls < le or start >= le + 1 or start < 0:\n        return None\n    L = le - ls\n    hits = []\n    for p in range(start, stop):\n        song = p if p < le else ls + (p - le) % L\n        for e in sorted(events):\n            if e == song:\n                hits.append([p, e])\n    return hits\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([4, 8, [4, 6], 0, 16], [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]]), ([4, 8, [8], 0, 16], []), ([4, 8, [7], 0, 20], [[7, 7], [11, 7], [15, 7], [19, 7]]), ([2, 6, [0, 2, 5], 0, 14], [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]]), ([0, 4, [0, 3], 0, 10], [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]]), ([4, 8, [1, 5], 6, 14], [[9, 5], [13, 5]]), ([3, 5, [3, 4, 5], 0, 12], [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]]), ([4, 8, [4], 8, 9], None)], [([2, 6, [0, 2, 5], 0, 14], [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]]), ([0, 4, [0, 3], 0, 10], [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]]), ([4, 8, [1, 5], 6, 14], [[9, 5], [13, 5]]), ([3, 5, [3, 4, 5], 0, 12], [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]]), ([4, 8, [4], 8, 9], None), ([4, 8, [4], 9, 10], None), ([4, 8, [4], 3, 12], [[4, 4], [8, 4]]), ([5, 5, [5], 0, 5], None)], [([3, 5, [3, 4, 5], 0, 12], [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]]), ([4, 8, [4], 8, 9], None), ([4, 8, [4], 9, 10], None), ([4, 8, [4], 3, 12], [[4, 4], [8, 4]]), ([5, 5, [5], 0, 5], None), ([4, 8, [4], -1, 4], None), ([10, 20, [12, 19], 15, 40], [[19, 19], [22, 12], [29, 19], [32, 12], [39, 19]]), ([1, 9, [1, 8], 0, 20], [[1, 1], [8, 8], [9, 1], [16, 8], [17, 1]])], [([4, 8, [4, 6], 0, 16], [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]]), ([4, 8, [8], 0, 16], []), ([4, 8, [7], 0, 20], [[7, 7], [11, 7], [15, 7], [19, 7]]), ([4, 8, [4], 8, 9], None), ([5, 5, [5], 0, 5], None), ([4, 8, [4], -1, 4], None), ([10, 20, [12, 19], 15, 40], [[19, 19], [22, 12], [29, 19], [32, 12], [39, 19]]), ([1, 9, [1, 8], 0, 20], [[1, 1], [8, 8], [9, 1], [16, 8], [17, 1]])], [([4, 8, [4, 6], 0, 16], [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]]), ([4, 8, [8], 0, 16], []), ([4, 8, [7], 0, 20], [[7, 7], [11, 7], [15, 7], [19, 7]]), ([2, 6, [0, 2, 5], 0, 14], [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]]), ([0, 4, [0, 3], 0, 10], [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]]), ([4, 8, [1, 5], 6, 14], [[9, 5], [13, 5]]), ([4, 8, [4], 8, 9], None), ([1, 9, [1, 8], 0, 20], [[1, 1], [8, 8], [9, 1], [16, 8], [17, 1]])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"oracle %d\" % i, solve(args), expected)\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":"2009fe220e1abcbdeb1e7dd603052ff3a7565590d0e65c0e38cba4ebaa55affb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    if not isinstance(x, list) or len(x) != 5:\n        return None\n    ls, le, events, start, stop = x\n    if not 0 <= ls < le or start > le or start < 0:\n        return None\n    L = le - ls\n    hits = []\n    for p in range(start, stop):\n        song = p if p < le else ls + (p - le) % L\n        for e in sorted(events):\n            if e == song:\n                hits.append([p, e])\n    return hits\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([4, 8, [4, 6], 0, 16], [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]]), ([4, 8, [8], 0, 16], []), ([4, 8, [7], 0, 20], [[7, 7], [11, 7], [15, 7], [19, 7]]), ([2, 6, [0, 2, 5], 0, 14], [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]]), ([0, 4, [0, 3], 0, 10], [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]]), ([4, 8, [1, 5], 6, 14], [[9, 5], [13, 5]]), ([3, 5, [3, 4, 5], 0, 12], [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]]), ([4, 8, [4], 8, 9], None)], [([2, 6, [0, 2, 5], 0, 14], [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]]), ([0, 4, [0, 3], 0, 10], [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]]), ([4, 8, [1, 5], 6, 14], [[9, 5], [13, 5]]), ([3, 5, [3, 4, 5], 0, 12], [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]]), ([4, 8, [4], 8, 9], None), ([4, 8, [4], 9, 10], None), ([4, 8, [4], 3, 12], [[4, 4], [8, 4]]), ([5, 5, [5], 0, 5], None)], [([3, 5, [3, 4, 5], 0, 12], [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]]), ([4, 8, [4], 8, 9], None), ([4, 8, [4], 9, 10], None), ([4, 8, [4], 3, 12], [[4, 4], [8, 4]]), ([5, 5, [5], 0, 5], None), ([4, 8, [4], -1, 4], None), ([10, 20, [12, 19], 15, 40], [[19, 19], [22, 12], [29, 19], [32, 12], [39, 19]]), ([1, 9, [1, 8], 0, 20], [[1, 1], [8, 8], [9, 1], [16, 8], [17, 1]])], [([4, 8, [4, 6], 0, 16], [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]]), ([4, 8, [8], 0, 16], []), ([4, 8, [7], 0, 20], [[7, 7], [11, 7], [15, 7], [19, 7]]), ([4, 8, [4], 8, 9], None), ([5, 5, [5], 0, 5], None), ([4, 8, [4], -1, 4], None), ([10, 20, [12, 19], 15, 40], [[19, 19], [22, 12], [29, 19], [32, 12], [39, 19]]), ([1, 9, [1, 8], 0, 20], [[1, 1], [8, 8], [9, 1], [16, 8], [17, 1]])], [([4, 8, [4, 6], 0, 16], [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]]), ([4, 8, [8], 0, 16], []), ([4, 8, [7], 0, 20], [[7, 7], [11, 7], [15, 7], [19, 7]]), ([2, 6, [0, 2, 5], 0, 14], [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]]), ([0, 4, [0, 3], 0, 10], [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]]), ([4, 8, [1, 5], 6, 14], [[9, 5], [13, 5]]), ([4, 8, [4], 8, 9], None), ([1, 9, [1, 8], 0, 20], [[1, 1], [8, 8], [9, 1], [16, 8], [17, 1]])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"oracle %d\" % i, solve(args), expected)\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":"A deterministic bounded teaching model with a stipulated toy contract; it is not a complete Standard MIDI File or MIDI 1.0/2.0 implementation. 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":"w2-midi-event-timing-loop-playback-start-position-check","generated_at":"2026-09-29T14:50:05.249252+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"MIDI sequencers, file readers and synth drivers depend on exact event ordering and tick/time arithmetic.","root_cause":"The start guard permits a start position equal to the loop end.","sha256":"51ed022aeca4bd65545ae4927e1326443a717ca32bf1bee33a76c563f77906d0","title":"Loop-region playback event firing: playback may start on the loop end · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.963,"exit_code":1,"observations":[{"actual":[[4,4],[6,6],[8,4],[10,6],[12,4],[14,6]],"check":"oracle 0","expected":[[4,4],[6,6],[8,4],[10,6],[12,4],[14,6]],"passed":true},{"actual":[],"check":"oracle 1","expected":[],"passed":true},{"actual":[[7,7],[11,7],[15,7],[19,7]],"check":"oracle 2","expected":[[7,7],[11,7],[15,7],[19,7]],"passed":true},{"actual":[[0,0],[2,2],[5,5],[6,2],[9,5],[10,2],[13,5]],"check":"oracle 3","expected":[[0,0],[2,2],[5,5],[6,2],[9,5],[10,2],[13,5]],"passed":true},{"actual":[[0,0],[3,3],[4,0],[7,3],[8,0]],"check":"oracle 4","expected":[[0,0],[3,3],[4,0],[7,3],[8,0]],"passed":true},{"actual":[[9,5],[13,5]],"check":"oracle 5","expected":[[9,5],[13,5]],"passed":true},{"actual":[[3,3],[4,4],[5,3],[6,4],[7,3],[8,4],[9,3],[10,4],[11,3]],"check":"oracle 6","expected":[[3,3],[4,4],[5,3],[6,4],[7,3],[8,4],[9,3],[10,4],[11,3]],"passed":true},{"actual":[[8,4]],"check":"oracle 7","expected":null,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]], \"expected\": [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]], \"passed\": true}, {\"check\": \"oracle 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": [[7, 7], [11, 7], [15, 7], [19, 7]], \"expected\": [[7, 7], [11, 7], [15, 7], [19, 7]], \"passed\": true}, {\"check\": \"oracle 3\", \"actual\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]], \"expected\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]], \"passed\": true}, {\"check\": \"oracle 4\", \"actual\": [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]], \"expected\": [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]], \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[9, 5], [13, 5]], \"expected\": [[9, 5], [13, 5]], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]], \"expected\": [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]], \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": [[8, 4]], \"expected\": null, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.134,"exit_code":1,"observations":[{"actual":[[4,4],[6,6],[8,4],[10,6],[12,4],[14,6]],"check":"oracle 0","expected":[[4,4],[6,6],[8,4],[10,6],[12,4],[14,6]],"passed":true},{"actual":[],"check":"oracle 1","expected":[],"passed":true},{"actual":[[7,7],[11,7],[15,7],[19,7]],"check":"oracle 2","expected":[[7,7],[11,7],[15,7],[19,7]],"passed":true},{"actual":[[0,0],[2,2],[5,5],[6,2],[9,5],[10,2],[13,5]],"check":"oracle 3","expected":[[0,0],[2,2],[5,5],[6,2],[9,5],[10,2],[13,5]],"passed":true},{"actual":[[0,0],[3,3],[4,0],[7,3],[8,0]],"check":"oracle 4","expected":[[0,0],[3,3],[4,0],[7,3],[8,0]],"passed":true},{"actual":[[9,5],[13,5]],"check":"oracle 5","expected":[[9,5],[13,5]],"passed":true},{"actual":[[3,3],[4,4],[5,3],[6,4],[7,3],[8,4],[9,3],[10,4],[11,3]],"check":"oracle 6","expected":[[3,3],[4,4],[5,3],[6,4],[7,3],[8,4],[9,3],[10,4],[11,3]],"passed":true},{"actual":[[8,4]],"check":"oracle 7","expected":null,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]], \"expected\": [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]], \"passed\": true}, {\"check\": \"oracle 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": [[7, 7], [11, 7], [15, 7], [19, 7]], \"expected\": [[7, 7], [11, 7], [15, 7], [19, 7]], \"passed\": true}, {\"check\": \"oracle 3\", \"actual\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]], \"expected\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]], \"passed\": true}, {\"check\": \"oracle 4\", \"actual\": [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]], \"expected\": [[0, 0], [3, 3], [4, 0], [7, 3], [8, 0]], \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[9, 5], [13, 5]], \"expected\": [[9, 5], [13, 5]], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]], \"expected\": [[3, 3], [4, 4], [5, 3], [6, 4], [7, 3], [8, 4], [9, 3], [10, 4], [11, 3]], \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": [[8, 4]], \"expected\": null, \"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."}}