{"abstract":"After the first pass the song position jumps to tick 0 instead of the loop start, replaying the intro.","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.","evaluation_group":"w2-midi-event-timing-loop-playback","failed_approach":"Reducing modulo the loop end instead of the loop length skews every pass after the first.","family":"w2-midi-event-timing-loop-playback-wrap-origin","id":"FA-81681","implementations":{"attempt":{"sha256":"73cf0d7a9b9e11d9100169b73b408af9cc070b4272b3bdb0e582f2cc2549e164","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) % le\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], []), ([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, [4], 8, 9], None), ([4, 8, [4], 9, 10], None), ([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]]), ([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]]), ([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]]), ([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], 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]])], [([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], 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]])], [([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), ([5, 5, [5], 0, 5], 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]])]]\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":"0b9641c4918f59b799eccfb4e30faae699b729add310607041260759fb5a1f92","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 (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], []), ([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, [4], 8, 9], None), ([4, 8, [4], 9, 10], None), ([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]]), ([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]]), ([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]]), ([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], 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]])], [([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], 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]])], [([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), ([5, 5, [5], 0, 5], 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]])]]\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"},"fixed":{"sha256":"9d3da0b7395fe7a35164d51a362e82abcb21a4e4bd83486436bd91a1e8d586d2","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], []), ([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, [4], 8, 9], None), ([4, 8, [4], 9, 10], None), ([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]]), ([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]]), ([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]]), ([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], 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]])], [([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], 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]])], [([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), ([5, 5, [5], 0, 5], 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]])]]\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-wrap-origin","generated_at":"2026-09-29T14:50:05.119321+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.","repair":"Restore the wrap origin step so that it reads `ls + (p - le) % L`.","root_cause":"The wrapped position omits the loop start offset.","sha256":"0623e51cd1c7096ed44b5fd04dadf34ab24ddecad871e71c1fd8c9fdbdaacd9e","title":"Loop-region playback event firing: loop wraps to the song start · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.398,"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":[[12,8]],"check":"oracle 1","expected":[],"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":[[0,0],[3,3],[4,0],[7,3],[8,0]],"check":"oracle 3","expected":[[0,0],[3,3],[4,0],[7,3],[8,0]],"passed":true},{"actual":null,"check":"oracle 4","expected":null,"passed":true},{"actual":null,"check":"oracle 5","expected":null,"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\": [[12, 8]], \"expected\": [], \"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\": [[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 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": null, \"expected\": null, \"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.712,"exit_code":1,"observations":[{"actual":[[4,4],[6,6]],"check":"oracle 0","expected":[[4,4],[6,6],[8,4],[10,6],[12,4],[14,6]],"passed":false},{"actual":[],"check":"oracle 1","expected":[],"passed":true},{"actual":[[0,0],[2,2],[5,5],[6,0],[8,2],[10,0],[12,2]],"check":"oracle 2","expected":[[0,0],[2,2],[5,5],[6,2],[9,5],[10,2],[13,5]],"passed":false},{"actual":[[0,0],[3,3],[4,0],[7,3],[8,0]],"check":"oracle 3","expected":[[0,0],[3,3],[4,0],[7,3],[8,0]],"passed":true},{"actual":null,"check":"oracle 4","expected":null,"passed":true},{"actual":null,"check":"oracle 5","expected":null,"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]], \"expected\": [[4, 4], [6, 6], [8, 4], [10, 6], [12, 4], [14, 6]], \"passed\": false}, {\"check\": \"oracle 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": [[0, 0], [2, 2], [5, 5], [6, 0], [8, 2], [10, 0], [12, 2]], \"expected\": [[0, 0], [2, 2], [5, 5], [6, 2], [9, 5], [10, 2], [13, 5]], \"passed\": false}, {\"check\": \"oracle 3\", \"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 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.301,"exit_code":0,"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":[[0,0],[2,2],[5,5],[6,2],[9,5],[10,2],[13,5]],"check":"oracle 2","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 3","expected":[[0,0],[3,3],[4,0],[7,3],[8,0]],"passed":true},{"actual":null,"check":"oracle 4","expected":null,"passed":true},{"actual":null,"check":"oracle 5","expected":null,"passed":true},{"actual":null,"check":"oracle 6","expected":null,"passed":true},{"actual":null,"check":"oracle 7","expected":null,"passed":true}],"passed":true,"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\": [[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 3\", \"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 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}