{"abstract":"The second track is placed after the first track's last event instead of starting at tick 0.","category":"MIDI event timing","checks":8,"contract":"Input a list of tracks, each a list of [delta, event]. The event \"eot\" marks end of track and is not copied. Merge all events by absolute time; ties go to the lower track index, then original order. Output [delta, event] pairs followed by one final [delta, \"eot\"] at the latest end-of-track or last event time.","contract_signature":"x","evaluation_group":"w2-midi-event-timing-track-merge","failed_approach":"Starting each track at the previous end-of-track time still chains tracks sequentially.","family":"w2-midi-event-timing-track-merge-per-track-clock","id":"FA-81601","implementations":{"attempt":{"sha256":"3d964b990d9037c1954dd29ac039de3a1a081ac9914ebbb12b4213470fbc806b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    if not isinstance(x, list):\n        return None\n    events = []\n    end = 0\n    for ti, track in enumerate(x):\n        tick = end\n        for seq, (delta, ev) in enumerate(track):\n            tick += delta\n            if ev == 'eot':\n                end = max(end, tick)\n                continue\n            events.append((tick, ti, seq, ev))\n    events.sort()\n    out = []\n    prev = 0\n    for tick, ti, seq, ev in events:\n        out.append([tick - prev, ev])\n        prev = tick\n    end = max(end, prev)\n    out.append([end - prev, 'eot'])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([[[0, 'a'], [10, 'b'], [0, 'eot']], [[5, 'c'], [20, 'eot']]], [[0, 'a'], [5, 'c'], [5, 'b'], [15, 'eot']]), ([[[0, 'tempo'], [0, 'eot']], [[0, 'n1'], [480, 'n2'], [0, 'eot']]], [[0, 'tempo'], [0, 'n1'], [480, 'n2'], [0, 'eot']]), ([[[10, 'z'], [0, 'eot']], [[10, 'a'], [0, 'eot']]], [[10, 'z'], [0, 'a'], [0, 'eot']]), ([[[0, 'x'], [100, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [50, 'eot']]), ([[[0, 'x'], [5, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [0, 'eot']]), ([[[0, 'eot']]], [[0, 'eot']]), ([], [[0, 'eot']]), ([[[0, 'b'], [0, 'a'], [0, 'eot']], [[0, 'c'], [0, 'eot']]], [[0, 'b'], [0, 'a'], [0, 'c'], [0, 'eot']])], [([[[0, 'a'], [10, 'b'], [0, 'eot']], [[5, 'c'], [20, 'eot']]], [[0, 'a'], [5, 'c'], [5, 'b'], [15, 'eot']]), ([[[10, 'z'], [0, 'eot']], [[10, 'a'], [0, 'eot']]], [[10, 'z'], [0, 'a'], [0, 'eot']]), ([[[0, 'x'], [100, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [50, 'eot']]), ([[[0, 'x'], [5, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [0, 'eot']]), ([[[3, 'p'], [3, 'q']], [[4, 'r']]], [[3, 'p'], [1, 'r'], [2, 'q'], [0, 'eot']]), ([[[5, 'm'], [5, 'n'], [0, 'eot']], [[5, 'k'], [0, 'eot']], [[7, 'j'], [30, 'eot']]], [[5, 'm'], [0, 'k'], [2, 'j'], [3, 'n'], [27, 'eot']]), ([[[0, 'b'], [0, 'a'], [0, 'eot']], [[0, 'c'], [0, 'eot']]], [[0, 'b'], [0, 'a'], [0, 'c'], [0, 'eot']]), ([[[20, 'late'], [0, 'eot']], [[1, 'early'], [2, 'eot']]], [[1, 'early'], [19, 'late'], [0, 'eot']])], [([[[0, 'tempo'], [0, 'eot']], [[0, 'n1'], [480, 'n2'], [0, 'eot']]], [[0, 'tempo'], [0, 'n1'], [480, 'n2'], [0, 'eot']]), ([[[0, 'x'], [100, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [50, 'eot']]), ([[[0, 'x'], [5, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [0, 'eot']]), ([[[3, 'p'], [3, 'q']], [[4, 'r']]], [[3, 'p'], [1, 'r'], [2, 'q'], [0, 'eot']]), ([[[0, 'eot']]], [[0, 'eot']]), ([], [[0, 'eot']]), ([[[5, 'm'], [5, 'n'], [0, 'eot']], [[5, 'k'], [0, 'eot']], [[7, 'j'], [30, 'eot']]], [[5, 'm'], [0, 'k'], [2, 'j'], [3, 'n'], [27, 'eot']]), ([[[20, 'late'], [0, 'eot']], [[1, 'early'], [2, 'eot']]], [[1, 'early'], [19, 'late'], [0, 'eot']])], [([[[0, 'a'], [10, 'b'], [0, 'eot']], [[5, 'c'], [20, 'eot']]], [[0, 'a'], [5, 'c'], [5, 'b'], [15, 'eot']]), ([[[0, 'tempo'], [0, 'eot']], [[0, 'n1'], [480, 'n2'], [0, 'eot']]], [[0, 'tempo'], [0, 'n1'], [480, 'n2'], [0, 'eot']]), ([[[0, 'x'], [5, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [0, 'eot']]), ([[[0, 'eot']]], [[0, 'eot']]), ([], [[0, 'eot']]), ([[[5, 'm'], [5, 'n'], [0, 'eot']], [[5, 'k'], [0, 'eot']], [[7, 'j'], [30, 'eot']]], [[5, 'm'], [0, 'k'], [2, 'j'], [3, 'n'], [27, 'eot']]), ([[[0, 'b'], [0, 'a'], [0, 'eot']], [[0, 'c'], [0, 'eot']]], [[0, 'b'], [0, 'a'], [0, 'c'], [0, 'eot']]), ([[[20, 'late'], [0, 'eot']], [[1, 'early'], [2, 'eot']]], [[1, 'early'], [19, 'late'], [0, 'eot']])], [([[[0, 'a'], [10, 'b'], [0, 'eot']], [[5, 'c'], [20, 'eot']]], [[0, 'a'], [5, 'c'], [5, 'b'], [15, 'eot']]), ([[[10, 'z'], [0, 'eot']], [[10, 'a'], [0, 'eot']]], [[10, 'z'], [0, 'a'], [0, 'eot']]), ([[[3, 'p'], [3, 'q']], [[4, 'r']]], [[3, 'p'], [1, 'r'], [2, 'q'], [0, 'eot']]), ([[[0, 'eot']]], [[0, 'eot']]), ([], [[0, 'eot']]), ([[[5, 'm'], [5, 'n'], [0, 'eot']], [[5, 'k'], [0, 'eot']], [[7, 'j'], [30, 'eot']]], [[5, 'm'], [0, 'k'], [2, 'j'], [3, 'n'], [27, 'eot']]), ([[[0, 'b'], [0, 'a'], [0, 'eot']], [[0, 'c'], [0, 'eot']]], [[0, 'b'], [0, 'a'], [0, 'c'], [0, 'eot']]), ([[[20, 'late'], [0, 'eot']], [[1, 'early'], [2, 'eot']]], [[1, 'early'], [19, 'late'], [0, 'eot']])]]\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":"55cff41f275ba5cc3fa4ca1b9446cb10eb4c3e3fc6cccb18821c896a7851970c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    if not isinstance(x, list):\n        return None\n    events = []\n    end = 0\n    tick = 0\n    for ti, track in enumerate(x):\n        for seq, (delta, ev) in enumerate(track):\n            tick += delta\n            if ev == 'eot':\n                end = max(end, tick)\n                continue\n            events.append((tick, ti, seq, ev))\n    events.sort()\n    out = []\n    prev = 0\n    for tick, ti, seq, ev in events:\n        out.append([tick - prev, ev])\n        prev = tick\n    end = max(end, prev)\n    out.append([end - prev, 'eot'])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[([[[0, 'a'], [10, 'b'], [0, 'eot']], [[5, 'c'], [20, 'eot']]], [[0, 'a'], [5, 'c'], [5, 'b'], [15, 'eot']]), ([[[0, 'tempo'], [0, 'eot']], [[0, 'n1'], [480, 'n2'], [0, 'eot']]], [[0, 'tempo'], [0, 'n1'], [480, 'n2'], [0, 'eot']]), ([[[10, 'z'], [0, 'eot']], [[10, 'a'], [0, 'eot']]], [[10, 'z'], [0, 'a'], [0, 'eot']]), ([[[0, 'x'], [100, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [50, 'eot']]), ([[[0, 'x'], [5, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [0, 'eot']]), ([[[0, 'eot']]], [[0, 'eot']]), ([], [[0, 'eot']]), ([[[0, 'b'], [0, 'a'], [0, 'eot']], [[0, 'c'], [0, 'eot']]], [[0, 'b'], [0, 'a'], [0, 'c'], [0, 'eot']])], [([[[0, 'a'], [10, 'b'], [0, 'eot']], [[5, 'c'], [20, 'eot']]], [[0, 'a'], [5, 'c'], [5, 'b'], [15, 'eot']]), ([[[10, 'z'], [0, 'eot']], [[10, 'a'], [0, 'eot']]], [[10, 'z'], [0, 'a'], [0, 'eot']]), ([[[0, 'x'], [100, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [50, 'eot']]), ([[[0, 'x'], [5, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [0, 'eot']]), ([[[3, 'p'], [3, 'q']], [[4, 'r']]], [[3, 'p'], [1, 'r'], [2, 'q'], [0, 'eot']]), ([[[5, 'm'], [5, 'n'], [0, 'eot']], [[5, 'k'], [0, 'eot']], [[7, 'j'], [30, 'eot']]], [[5, 'm'], [0, 'k'], [2, 'j'], [3, 'n'], [27, 'eot']]), ([[[0, 'b'], [0, 'a'], [0, 'eot']], [[0, 'c'], [0, 'eot']]], [[0, 'b'], [0, 'a'], [0, 'c'], [0, 'eot']]), ([[[20, 'late'], [0, 'eot']], [[1, 'early'], [2, 'eot']]], [[1, 'early'], [19, 'late'], [0, 'eot']])], [([[[0, 'tempo'], [0, 'eot']], [[0, 'n1'], [480, 'n2'], [0, 'eot']]], [[0, 'tempo'], [0, 'n1'], [480, 'n2'], [0, 'eot']]), ([[[0, 'x'], [100, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [50, 'eot']]), ([[[0, 'x'], [5, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [0, 'eot']]), ([[[3, 'p'], [3, 'q']], [[4, 'r']]], [[3, 'p'], [1, 'r'], [2, 'q'], [0, 'eot']]), ([[[0, 'eot']]], [[0, 'eot']]), ([], [[0, 'eot']]), ([[[5, 'm'], [5, 'n'], [0, 'eot']], [[5, 'k'], [0, 'eot']], [[7, 'j'], [30, 'eot']]], [[5, 'm'], [0, 'k'], [2, 'j'], [3, 'n'], [27, 'eot']]), ([[[20, 'late'], [0, 'eot']], [[1, 'early'], [2, 'eot']]], [[1, 'early'], [19, 'late'], [0, 'eot']])], [([[[0, 'a'], [10, 'b'], [0, 'eot']], [[5, 'c'], [20, 'eot']]], [[0, 'a'], [5, 'c'], [5, 'b'], [15, 'eot']]), ([[[0, 'tempo'], [0, 'eot']], [[0, 'n1'], [480, 'n2'], [0, 'eot']]], [[0, 'tempo'], [0, 'n1'], [480, 'n2'], [0, 'eot']]), ([[[0, 'x'], [5, 'eot']], [[50, 'y'], [0, 'eot']]], [[0, 'x'], [50, 'y'], [0, 'eot']]), ([[[0, 'eot']]], [[0, 'eot']]), ([], [[0, 'eot']]), ([[[5, 'm'], [5, 'n'], [0, 'eot']], [[5, 'k'], [0, 'eot']], [[7, 'j'], [30, 'eot']]], [[5, 'm'], [0, 'k'], [2, 'j'], [3, 'n'], [27, 'eot']]), ([[[0, 'b'], [0, 'a'], [0, 'eot']], [[0, 'c'], [0, 'eot']]], [[0, 'b'], [0, 'a'], [0, 'c'], [0, 'eot']]), ([[[20, 'late'], [0, 'eot']], [[1, 'early'], [2, 'eot']]], [[1, 'early'], [19, 'late'], [0, 'eot']])], [([[[0, 'a'], [10, 'b'], [0, 'eot']], [[5, 'c'], [20, 'eot']]], [[0, 'a'], [5, 'c'], [5, 'b'], [15, 'eot']]), ([[[10, 'z'], [0, 'eot']], [[10, 'a'], [0, 'eot']]], [[10, 'z'], [0, 'a'], [0, 'eot']]), ([[[3, 'p'], [3, 'q']], [[4, 'r']]], [[3, 'p'], [1, 'r'], [2, 'q'], [0, 'eot']]), ([[[0, 'eot']]], [[0, 'eot']]), ([], [[0, 'eot']]), ([[[5, 'm'], [5, 'n'], [0, 'eot']], [[5, 'k'], [0, 'eot']], [[7, 'j'], [30, 'eot']]], [[5, 'm'], [0, 'k'], [2, 'j'], [3, 'n'], [27, 'eot']]), ([[[0, 'b'], [0, 'a'], [0, 'eot']], [[0, 'c'], [0, 'eot']]], [[0, 'b'], [0, 'a'], [0, 'c'], [0, 'eot']]), ([[[20, 'late'], [0, 'eot']], [[1, 'early'], [2, 'eot']]], [[1, 'early'], [19, 'late'], [0, 'eot']])]]\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-track-merge-per-track-clock","generated_at":"2026-09-29T14:50:04.447964+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 running tick is initialised once for all tracks instead of per track.","sha256":"3abe9bbc3f92d4322d87acde723b0ec476cb8b0f8c849016e076cd1c7ecae966","title":"Format 1 to format 0 track merge: track clocks chained end to 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":39.607,"exit_code":1,"observations":[{"actual":[[0,"a"],[10,"b"],[5,"c"],[20,"eot"]],"check":"oracle 0","expected":[[0,"a"],[5,"c"],[5,"b"],[15,"eot"]],"passed":false},{"actual":[[0,"tempo"],[0,"n1"],[480,"n2"],[0,"eot"]],"check":"oracle 1","expected":[[0,"tempo"],[0,"n1"],[480,"n2"],[0,"eot"]],"passed":true},{"actual":[[10,"z"],[10,"a"],[0,"eot"]],"check":"oracle 2","expected":[[10,"z"],[0,"a"],[0,"eot"]],"passed":false},{"actual":[[0,"x"],[150,"y"],[0,"eot"]],"check":"oracle 3","expected":[[0,"x"],[50,"y"],[50,"eot"]],"passed":false},{"actual":[[0,"x"],[55,"y"],[0,"eot"]],"check":"oracle 4","expected":[[0,"x"],[50,"y"],[0,"eot"]],"passed":false},{"actual":[[0,"eot"]],"check":"oracle 5","expected":[[0,"eot"]],"passed":true},{"actual":[[0,"eot"]],"check":"oracle 6","expected":[[0,"eot"]],"passed":true},{"actual":[[0,"b"],[0,"a"],[0,"c"],[0,"eot"]],"check":"oracle 7","expected":[[0,"b"],[0,"a"],[0,"c"],[0,"eot"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": [[0, \"a\"], [10, \"b\"], [5, \"c\"], [20, \"eot\"]], \"expected\": [[0, \"a\"], [5, \"c\"], [5, \"b\"], [15, \"eot\"]], \"passed\": false}, {\"check\": \"oracle 1\", \"actual\": [[0, \"tempo\"], [0, \"n1\"], [480, \"n2\"], [0, \"eot\"]], \"expected\": [[0, \"tempo\"], [0, \"n1\"], [480, \"n2\"], [0, \"eot\"]], \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": [[10, \"z\"], [10, \"a\"], [0, \"eot\"]], \"expected\": [[10, \"z\"], [0, \"a\"], [0, \"eot\"]], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": [[0, \"x\"], [150, \"y\"], [0, \"eot\"]], \"expected\": [[0, \"x\"], [50, \"y\"], [50, \"eot\"]], \"passed\": false}, {\"check\": \"oracle 4\", \"actual\": [[0, \"x\"], [55, \"y\"], [0, \"eot\"]], \"expected\": [[0, \"x\"], [50, \"y\"], [0, \"eot\"]], \"passed\": false}, {\"check\": \"oracle 5\", \"actual\": [[0, \"eot\"]], \"expected\": [[0, \"eot\"]], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": [[0, \"eot\"]], \"expected\": [[0, \"eot\"]], \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": [[0, \"b\"], [0, \"a\"], [0, \"c\"], [0, \"eot\"]], \"expected\": [[0, \"b\"], [0, \"a\"], [0, \"c\"], [0, \"eot\"]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.121,"exit_code":1,"observations":[{"actual":[[0,"a"],[10,"b"],[5,"c"],[20,"eot"]],"check":"oracle 0","expected":[[0,"a"],[5,"c"],[5,"b"],[15,"eot"]],"passed":false},{"actual":[[0,"tempo"],[0,"n1"],[480,"n2"],[0,"eot"]],"check":"oracle 1","expected":[[0,"tempo"],[0,"n1"],[480,"n2"],[0,"eot"]],"passed":true},{"actual":[[10,"z"],[10,"a"],[0,"eot"]],"check":"oracle 2","expected":[[10,"z"],[0,"a"],[0,"eot"]],"passed":false},{"actual":[[0,"x"],[150,"y"],[0,"eot"]],"check":"oracle 3","expected":[[0,"x"],[50,"y"],[50,"eot"]],"passed":false},{"actual":[[0,"x"],[55,"y"],[0,"eot"]],"check":"oracle 4","expected":[[0,"x"],[50,"y"],[0,"eot"]],"passed":false},{"actual":[[0,"eot"]],"check":"oracle 5","expected":[[0,"eot"]],"passed":true},{"actual":[[0,"eot"]],"check":"oracle 6","expected":[[0,"eot"]],"passed":true},{"actual":[[0,"b"],[0,"a"],[0,"c"],[0,"eot"]],"check":"oracle 7","expected":[[0,"b"],[0,"a"],[0,"c"],[0,"eot"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 0\", \"actual\": [[0, \"a\"], [10, \"b\"], [5, \"c\"], [20, \"eot\"]], \"expected\": [[0, \"a\"], [5, \"c\"], [5, \"b\"], [15, \"eot\"]], \"passed\": false}, {\"check\": \"oracle 1\", \"actual\": [[0, \"tempo\"], [0, \"n1\"], [480, \"n2\"], [0, \"eot\"]], \"expected\": [[0, \"tempo\"], [0, \"n1\"], [480, \"n2\"], [0, \"eot\"]], \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": [[10, \"z\"], [10, \"a\"], [0, \"eot\"]], \"expected\": [[10, \"z\"], [0, \"a\"], [0, \"eot\"]], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": [[0, \"x\"], [150, \"y\"], [0, \"eot\"]], \"expected\": [[0, \"x\"], [50, \"y\"], [50, \"eot\"]], \"passed\": false}, {\"check\": \"oracle 4\", \"actual\": [[0, \"x\"], [55, \"y\"], [0, \"eot\"]], \"expected\": [[0, \"x\"], [50, \"y\"], [0, \"eot\"]], \"passed\": false}, {\"check\": \"oracle 5\", \"actual\": [[0, \"eot\"]], \"expected\": [[0, \"eot\"]], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": [[0, \"eot\"]], \"expected\": [[0, \"eot\"]], \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": [[0, \"b\"], [0, \"a\"], [0, \"c\"], [0, \"eot\"]], \"expected\": [[0, \"b\"], [0, \"a\"], [0, \"c\"], [0, \"eot\"]], \"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."}}