{"abstract":"Each loop pass is one tick too long, so events drift later on every repetition.","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":"Using the loop end as the length ignores the loop start.","family":"w2-midi-event-timing-loop-playback-loop-length","id":"FA-81686","implementations":{"attempt":{"sha256":"a431a947d48b1832d4f9b5c87da7bebee5ea2c4d27f2db1683952c77cb7d3a20","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\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, [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]]), ([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)], [([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]]), ([5, 5, [5], 0, 5], None), ([4, 8, [4], -1, 4], None)], [([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]]), ([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]])], [([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), ([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]])], [([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]]), ([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]])]]\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":"bb2324b128b4beba290515282d9b819169309dd1de627566b5877f1d89a84de4","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 + 1\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, [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]]), ([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)], [([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]]), ([5, 5, [5], 0, 5], None), ([4, 8, [4], -1, 4], None)], [([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]]), ([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]])], [([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), ([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]])], [([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]]), ([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]])]]\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-loop-length","generated_at":"2026-09-29T14:50:05.120022+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 loop length adds one as if both ends were inclusive.","sha256":"9ab74a6ec8198b51f2231b3546daa04cdc9731c8267acd573cd2d40d7693fa97","title":"Loop-region playback event firing: loop length counted inclusively · 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":40.813,"exit_code":1,"observations":[{"actual":[[4,4],[6,6],[8,4],[10,6]],"check":"oracle 0","expected":[[4,4],[6,6],[8,4],[10,6],[12,4],[14,6]],"passed":false},{"actual":[[7,7],[11,7],[19,7]],"check":"oracle 1","expected":[[7,7],[11,7],[15,7],[19,7]],"passed":false},{"actual":[[0,0],[2,2],[5,5],[6,2],[9,5],[12,2]],"check":"oracle 2","expected":[[0,0],[2,2],[5,5],[6,2],[9,5],[10,2],[13,5]],"passed":false},{"actual":null,"check":"oracle 3","expected":null,"passed":true},{"actual":null,"check":"oracle 4","expected":null,"passed":true},{"actual":[[4,4],[8,4]],"check":"oracle 5","expected":[[4,4],[8,4]],"passed":true},{"actual":null,"check":"oracle 6","expected":null,"passed":true},{"actual":null,"check":"oracle 7","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": [[4, 4], [6, 6], [8, 4], [10, 6]], \"expected\": [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]], \"passed\": false}, {\"check\": \"oracle 1\", \"actual\": [[7, 7], [11, 7], [19, 7]], \"expected\": [[7, 7], [11, 7], [15, 7], [19, 7]], \"passed\": false}, {\"check\": \"oracle 2\", \"actual\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [12, 2]], \"expected\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[4, 4], [8, 4]], \"expected\": [[4, 4], [8, 4]], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.524,"exit_code":1,"observations":[{"actual":[[4,4],[6,6],[8,4],[10,6],[13,4],[15,6]],"check":"oracle 0","expected":[[4,4],[6,6],[8,4],[10,6],[12,4],[14,6]],"passed":false},{"actual":[[7,7],[11,7],[16,7]],"check":"oracle 1","expected":[[7,7],[11,7],[15,7],[19,7]],"passed":false},{"actual":[[0,0],[2,2],[5,5],[6,2],[9,5],[11,2]],"check":"oracle 2","expected":[[0,0],[2,2],[5,5],[6,2],[9,5],[10,2],[13,5]],"passed":false},{"actual":null,"check":"oracle 3","expected":null,"passed":true},{"actual":null,"check":"oracle 4","expected":null,"passed":true},{"actual":[[4,4],[8,4]],"check":"oracle 5","expected":[[4,4],[8,4]],"passed":true},{"actual":null,"check":"oracle 6","expected":null,"passed":true},{"actual":null,"check":"oracle 7","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": [[4, 4], [6, 6], [8, 4], [10, 6], [13, 4], [15, 6]], \"expected\": [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]], \"passed\": false}, {\"check\": \"oracle 1\", \"actual\": [[7, 7], [11, 7], [16, 7]], \"expected\": [[7, 7], [11, 7], [15, 7], [19, 7]], \"passed\": false}, {\"check\": \"oracle 2\", \"actual\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [11, 2]], \"expected\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[4, 4], [8, 4]], \"expected\": [[4, 4], [8, 4]], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": null, \"expected\": null, \"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."}}