{"abstract":"Lines that move backwards (loops, decorators) jump forward by hundreds.","category":"Bytecode virtual machines","checks":8,"contract":"Delta-encoded line table: each pair [addr_delta, line_delta] advances the bytecode address by addr_delta two-byte code units and the line by line_delta, a byte to be read as signed (values >= 128 mean value - 256). A decoded delta of -128 marks \"no line\" (None) at that address and does not move the running line. Offset 0 implicitly maps to first. A byte offset q maps to the last entry whose address is <= q (later entries at the same address win). Return the line for each query.","evaluation_group":"w2-bytecode-virtual-machines-line-number-table","failed_approach":"Converting only values above 128 leaves 128 unconverted, so the no-line marker is lost.","family":"w2-bytecode-virtual-machines-line-number-table-signed-line-delta","id":"FA-89986","implementations":{"attempt":{"sha256":"33f77c7e411955cf977eada59527845d26b230f492e33cbf14b4d744f61737e3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport bisect\nN = 1\nobservations = []\ndef solve(first, pairs, queries):\n    starts, lines = [0], [first]\n    addr, line = 0, first\n    for ad, ld in pairs:\n        addr += ad * 2\n        if ld > 128:\n            ld -= 256\n        if ld == -128:\n            starts.append(addr)\n            lines.append(None)\n            continue\n        line += ld\n        starts.append(addr)\n        lines.append(line)\n    out = []\n    for q in queries:\n        i = bisect.bisect_right(starts, q) - 1\n        out.append(lines[i])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('offset before the first entry maps to first line',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [101, 101]),\n  ('regression: exact entry offsets',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [102, 105]),\n  ('interior offsets',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [102, 105]),\n  ('no-line marker',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [109, 109]),\n  ('negative line delta',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [103, 103]),\n  ('zero line delta keeps line',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [103, 103]),\n  ('control: past the last entry',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [110, 110])],\n [('offset before the first entry maps to first line',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [102, 102]),\n  ('regression: exact entry offsets',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [103, 106]),\n  ('interior offsets',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [103, 106]),\n  ('no-line marker',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [111, 111]),\n  ('negative line delta',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [105, 105]),\n  ('zero line delta keeps line',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [105, 105]),\n  ('control: past the last entry',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [112, 112])],\n [('offset before the first entry maps to first line',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [103, 103]),\n  ('regression: exact entry offsets',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [104, 107]),\n  ('interior offsets',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [104, 107]),\n  ('no-line marker',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [113, 113]),\n  ('negative line delta',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [107, 107]),\n  ('zero line delta keeps line',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [107, 107]),\n  ('control: past the last entry',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [114, 114])],\n [('offset before the first entry maps to first line',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [104, 104]),\n  ('regression: exact entry offsets',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [105, 108]),\n  ('interior offsets',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [105, 108]),\n  ('no-line marker',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [115, 115]),\n  ('negative line delta',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [109, 109]),\n  ('zero line delta keeps line',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [109, 109]),\n  ('control: past the last entry',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [116, 116])],\n [('offset before the first entry maps to first line',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [105, 105]),\n  ('regression: exact entry offsets',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [106, 109]),\n  ('interior offsets',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [106, 109]),\n  ('no-line marker',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [117, 117]),\n  ('negative line delta',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [111, 111]),\n  ('zero line delta keeps line',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [111, 111]),\n  ('control: past the last entry',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [118, 118])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, 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":"398e6ede225de1683506c0ea73cfc2139db22478a88aacb194be09646b0f34ce","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport bisect\nN = 1\nobservations = []\ndef solve(first, pairs, queries):\n    starts, lines = [0], [first]\n    addr, line = 0, first\n    for ad, ld in pairs:\n        addr += ad * 2\n        if ld >= 256:\n            ld -= 256\n        if ld == -128:\n            starts.append(addr)\n            lines.append(None)\n            continue\n        line += ld\n        starts.append(addr)\n        lines.append(line)\n    out = []\n    for q in queries:\n        i = bisect.bisect_right(starts, q) - 1\n        out.append(lines[i])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('offset before the first entry maps to first line',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [101, 101]),\n  ('regression: exact entry offsets',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [102, 105]),\n  ('interior offsets',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [102, 105]),\n  ('no-line marker',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [109, 109]),\n  ('negative line delta',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [103, 103]),\n  ('zero line delta keeps line',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [103, 103]),\n  ('control: past the last entry',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [110, 110])],\n [('offset before the first entry maps to first line',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [102, 102]),\n  ('regression: exact entry offsets',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [103, 106]),\n  ('interior offsets',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [103, 106]),\n  ('no-line marker',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [111, 111]),\n  ('negative line delta',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [105, 105]),\n  ('zero line delta keeps line',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [105, 105]),\n  ('control: past the last entry',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [112, 112])],\n [('offset before the first entry maps to first line',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [103, 103]),\n  ('regression: exact entry offsets',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [104, 107]),\n  ('interior offsets',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [104, 107]),\n  ('no-line marker',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [113, 113]),\n  ('negative line delta',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [107, 107]),\n  ('zero line delta keeps line',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [107, 107]),\n  ('control: past the last entry',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [114, 114])],\n [('offset before the first entry maps to first line',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [104, 104]),\n  ('regression: exact entry offsets',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [105, 108]),\n  ('interior offsets',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [105, 108]),\n  ('no-line marker',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [115, 115]),\n  ('negative line delta',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [109, 109]),\n  ('zero line delta keeps line',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [109, 109]),\n  ('control: past the last entry',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [116, 116])],\n [('offset before the first entry maps to first line',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [105, 105]),\n  ('regression: exact entry offsets',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [106, 109]),\n  ('interior offsets',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [106, 109]),\n  ('no-line marker',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [117, 117]),\n  ('negative line delta',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [111, 111]),\n  ('zero line delta keeps line',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [111, 111]),\n  ('control: past the last entry',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [118, 118])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, 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":"a22937290d0eabf6bb54d21278f5d5a9b3c813425cad85086e86c124d273d37d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport bisect\nN = 1\nobservations = []\ndef solve(first, pairs, queries):\n    starts, lines = [0], [first]\n    addr, line = 0, first\n    for ad, ld in pairs:\n        addr += ad * 2\n        if ld >= 128:\n            ld -= 256\n        if ld == -128:\n            starts.append(addr)\n            lines.append(None)\n            continue\n        line += ld\n        starts.append(addr)\n        lines.append(line)\n    out = []\n    for q in queries:\n        i = bisect.bisect_right(starts, q) - 1\n        out.append(lines[i])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('offset before the first entry maps to first line',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [101, 101]),\n  ('regression: exact entry offsets',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [102, 105]),\n  ('interior offsets',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [102, 105]),\n  ('no-line marker',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [109, 109]),\n  ('negative line delta',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [103, 103]),\n  ('zero line delta keeps line',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [103, 103]),\n  ('control: past the last entry',\n   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [110, 110])],\n [('offset before the first entry maps to first line',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [102, 102]),\n  ('regression: exact entry offsets',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [103, 106]),\n  ('interior offsets',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [103, 106]),\n  ('no-line marker',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [111, 111]),\n  ('negative line delta',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [105, 105]),\n  ('zero line delta keeps line',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [105, 105]),\n  ('control: past the last entry',\n   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [112, 112])],\n [('offset before the first entry maps to first line',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [103, 103]),\n  ('regression: exact entry offsets',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [104, 107]),\n  ('interior offsets',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [104, 107]),\n  ('no-line marker',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [113, 113]),\n  ('negative line delta',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [107, 107]),\n  ('zero line delta keeps line',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [107, 107]),\n  ('control: past the last entry',\n   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [114, 114])],\n [('offset before the first entry maps to first line',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [104, 104]),\n  ('regression: exact entry offsets',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [105, 108]),\n  ('interior offsets',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [105, 108]),\n  ('no-line marker',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [115, 115]),\n  ('negative line delta',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [109, 109]),\n  ('zero line delta keeps line',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [109, 109]),\n  ('control: past the last entry',\n   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [116, 116])],\n [('offset before the first entry maps to first line',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),\n   [105, 105]),\n  ('regression: exact entry offsets',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),\n   [106, 109]),\n  ('interior offsets',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),\n   [106, 109]),\n  ('no-line marker',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),\n   [None, None]),\n  ('line resumes after marker',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),\n   [117, 117]),\n  ('negative line delta',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),\n   [111, 111]),\n  ('zero line delta keeps line',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),\n   [111, 111]),\n  ('control: past the last entry',\n   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),\n   [118, 118])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, 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 of one bytecode virtual machine mechanism with a stipulated instruction encoding; it is not a production VM and claims no conformance to any real specification. 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-bytecode-virtual-machines-line-number-table-signed-line-delta","generated_at":"2026-09-29T14:51:22.567212+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tracebacks and debuggers depend on exact decoding of compact line tables.","repair":"Subtract 256 from any byte value of 128 or more.","root_cause":"The signed-byte conversion never fires, so 250 is read as +250 instead of -6.","sha256":"a48e32a5e2a397e7300ea0276f9fd82ae6f40ee9d87f20f1a36e287d5024e2e3","title":"Line table: line deltas decoded as unsigned bytes · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.375,"exit_code":1,"observations":[{"actual":[101,101],"check":"offset before the first entry maps to first line","expected":[101,101],"passed":true},{"actual":[102,105],"check":"regression: exact entry offsets","expected":[102,105],"passed":true},{"actual":[102,105],"check":"interior offsets","expected":[102,105],"passed":true},{"actual":[233,233],"check":"no-line marker","expected":[null,null],"passed":false},{"actual":[237,237],"check":"line resumes after marker","expected":[109,109],"passed":false},{"actual":[231,231],"check":"negative line delta","expected":[103,103],"passed":false},{"actual":[231,231],"check":"zero line delta keeps line","expected":[103,103],"passed":false},{"actual":[238,238],"check":"control: past the last entry","expected":[110,110],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"offset before the first entry maps to first line\", \"actual\": [101, 101], \"expected\": [101, 101], \"passed\": true}, {\"check\": \"regression: exact entry offsets\", \"actual\": [102, 105], \"expected\": [102, 105], \"passed\": true}, {\"check\": \"interior offsets\", \"actual\": [102, 105], \"expected\": [102, 105], \"passed\": true}, {\"check\": \"no-line marker\", \"actual\": [233, 233], \"expected\": [null, null], \"passed\": false}, {\"check\": \"line resumes after marker\", \"actual\": [237, 237], \"expected\": [109, 109], \"passed\": false}, {\"check\": \"negative line delta\", \"actual\": [231, 231], \"expected\": [103, 103], \"passed\": false}, {\"check\": \"zero line delta keeps line\", \"actual\": [231, 231], \"expected\": [103, 103], \"passed\": false}, {\"check\": \"control: past the last entry\", \"actual\": [238, 238], \"expected\": [110, 110], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.391,"exit_code":1,"observations":[{"actual":[101,101],"check":"offset before the first entry maps to first line","expected":[101,101],"passed":true},{"actual":[102,105],"check":"regression: exact entry offsets","expected":[102,105],"passed":true},{"actual":[102,105],"check":"interior offsets","expected":[102,105],"passed":true},{"actual":[233,233],"check":"no-line marker","expected":[null,null],"passed":false},{"actual":[237,237],"check":"line resumes after marker","expected":[109,109],"passed":false},{"actual":[487,487],"check":"negative line delta","expected":[103,103],"passed":false},{"actual":[487,487],"check":"zero line delta keeps line","expected":[103,103],"passed":false},{"actual":[494,494],"check":"control: past the last entry","expected":[110,110],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"offset before the first entry maps to first line\", \"actual\": [101, 101], \"expected\": [101, 101], \"passed\": true}, {\"check\": \"regression: exact entry offsets\", \"actual\": [102, 105], \"expected\": [102, 105], \"passed\": true}, {\"check\": \"interior offsets\", \"actual\": [102, 105], \"expected\": [102, 105], \"passed\": true}, {\"check\": \"no-line marker\", \"actual\": [233, 233], \"expected\": [null, null], \"passed\": false}, {\"check\": \"line resumes after marker\", \"actual\": [237, 237], \"expected\": [109, 109], \"passed\": false}, {\"check\": \"negative line delta\", \"actual\": [487, 487], \"expected\": [103, 103], \"passed\": false}, {\"check\": \"zero line delta keeps line\", \"actual\": [487, 487], \"expected\": [103, 103], \"passed\": false}, {\"check\": \"control: past the last entry\", \"actual\": [494, 494], \"expected\": [110, 110], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.435,"exit_code":0,"observations":[{"actual":[101,101],"check":"offset before the first entry maps to first line","expected":[101,101],"passed":true},{"actual":[102,105],"check":"regression: exact entry offsets","expected":[102,105],"passed":true},{"actual":[102,105],"check":"interior offsets","expected":[102,105],"passed":true},{"actual":[null,null],"check":"no-line marker","expected":[null,null],"passed":true},{"actual":[109,109],"check":"line resumes after marker","expected":[109,109],"passed":true},{"actual":[103,103],"check":"negative line delta","expected":[103,103],"passed":true},{"actual":[103,103],"check":"zero line delta keeps line","expected":[103,103],"passed":true},{"actual":[110,110],"check":"control: past the last entry","expected":[110,110],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"offset before the first entry maps to first line\", \"actual\": [101, 101], \"expected\": [101, 101], \"passed\": true}, {\"check\": \"regression: exact entry offsets\", \"actual\": [102, 105], \"expected\": [102, 105], \"passed\": true}, {\"check\": \"interior offsets\", \"actual\": [102, 105], \"expected\": [102, 105], \"passed\": true}, {\"check\": \"no-line marker\", \"actual\": [null, null], \"expected\": [null, null], \"passed\": true}, {\"check\": \"line resumes after marker\", \"actual\": [109, 109], \"expected\": [109, 109], \"passed\": true}, {\"check\": \"negative line delta\", \"actual\": [103, 103], \"expected\": [103, 103], \"passed\": true}, {\"check\": \"zero line delta keeps line\", \"actual\": [103, 103], \"expected\": [103, 103], \"passed\": true}, {\"check\": \"control: past the last entry\", \"actual\": [110, 110], \"expected\": [110, 110], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}