FA-89986 / Bytecode virtual machines / Open access
Line table: line deltas decoded as unsigned bytes · case 01
Lines that move backwards (loops, decorators) jump forward by hundreds.
ROOT CAUSE
The signed-byte conversion never fires, so 250 is read as +250 instead of -6.
VERIFIED REPAIR
Subtract 256 from any byte value of 128 or more.
Unsuccessful approach: Converting only values above 128 leaves 128 unconverted, so the no-line marker is lost.
Case 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.
Why this case matters
Tracebacks and debuggers depend on exact decoding of compact line tables.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(first, pairs, queries):
starts, lines = [0], [first]
addr, line = 0, first
for ad, ld in pairs:
addr += ad * 2
if ld >= 256:
ld -= 256
if ld == -128:
starts.append(addr)
lines.append(None)
continue
line += ld
starts.append(addr)
lines.append(line)
out = []
for q in queries:
i = bisect.bisect_right(starts, q) - 1
out.append(lines[i])
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('offset before the first entry maps to first line',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),
[101, 101]),
('regression: exact entry offsets',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),
[102, 105]),
('interior offsets',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),
[102, 105]),
('no-line marker',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),
[109, 109]),
('negative line delta',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),
[103, 103]),
('zero line delta keeps line',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),
[103, 103]),
('control: past the last entry',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),
[110, 110])],
[('offset before the first entry maps to first line',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),
[102, 102]),
('regression: exact entry offsets',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),
[103, 106]),
('interior offsets',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),
[103, 106]),
('no-line marker',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),
[111, 111]),
('negative line delta',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),
[105, 105]),
('zero line delta keeps line',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),
[105, 105]),
('control: past the last entry',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),
[112, 112])],
[('offset before the first entry maps to first line',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),
[103, 103]),
('regression: exact entry offsets',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),
[104, 107]),
('interior offsets',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),
[104, 107]),
('no-line marker',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),
[113, 113]),
('negative line delta',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),
[107, 107]),
('zero line delta keeps line',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),
[107, 107]),
('control: past the last entry',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),
[114, 114])],
[('offset before the first entry maps to first line',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),
[104, 104]),
('regression: exact entry offsets',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),
[105, 108]),
('interior offsets',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),
[105, 108]),
('no-line marker',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),
[115, 115]),
('negative line delta',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),
[109, 109]),
('zero line delta keeps line',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),
[109, 109]),
('control: past the last entry',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),
[116, 116])],
[('offset before the first entry maps to first line',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),
[105, 105]),
('regression: exact entry offsets',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),
[106, 109]),
('interior offsets',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),
[106, 109]),
('no-line marker',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),
[117, 117]),
('negative line delta',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),
[111, 111]),
('zero line delta keeps line',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),
[111, 111]),
('control: past the last entry',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),
[118, 118])]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| offset before the first entry maps to first line | [101, 101] | [101, 101] | Passed |
| regression: exact entry offsets | [102, 105] | [102, 105] | Passed |
| interior offsets | [102, 105] | [102, 105] | Passed |
| no-line marker | [233, 233] | [None, None] | Failed |
| line resumes after marker | [237, 237] | [109, 109] | Failed |
| negative line delta | [487, 487] | [103, 103] | Failed |
| zero line delta keeps line | [487, 487] | [103, 103] | Failed |
| control: past the last entry | [494, 494] | [110, 110] | Failed |
SHA-256 / 398e6ede225de1683506c0ea73cfc2139db22478a88aacb194be09646b0f34ce
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(first, pairs, queries):
starts, lines = [0], [first]
addr, line = 0, first
for ad, ld in pairs:
addr += ad * 2
if ld > 128:
ld -= 256
if ld == -128:
starts.append(addr)
lines.append(None)
continue
line += ld
starts.append(addr)
lines.append(line)
out = []
for q in queries:
i = bisect.bisect_right(starts, q) - 1
out.append(lines[i])
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('offset before the first entry maps to first line',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),
[101, 101]),
('regression: exact entry offsets',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),
[102, 105]),
('interior offsets',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),
[102, 105]),
('no-line marker',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),
[109, 109]),
('negative line delta',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),
[103, 103]),
('zero line delta keeps line',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),
[103, 103]),
('control: past the last entry',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),
[110, 110])],
[('offset before the first entry maps to first line',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),
[102, 102]),
('regression: exact entry offsets',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),
[103, 106]),
('interior offsets',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),
[103, 106]),
('no-line marker',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),
[111, 111]),
('negative line delta',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),
[105, 105]),
('zero line delta keeps line',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),
[105, 105]),
('control: past the last entry',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),
[112, 112])],
[('offset before the first entry maps to first line',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),
[103, 103]),
('regression: exact entry offsets',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),
[104, 107]),
('interior offsets',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),
[104, 107]),
('no-line marker',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),
[113, 113]),
('negative line delta',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),
[107, 107]),
('zero line delta keeps line',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),
[107, 107]),
('control: past the last entry',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),
[114, 114])],
[('offset before the first entry maps to first line',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),
[104, 104]),
('regression: exact entry offsets',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),
[105, 108]),
('interior offsets',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),
[105, 108]),
('no-line marker',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),
[115, 115]),
('negative line delta',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),
[109, 109]),
('zero line delta keeps line',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),
[109, 109]),
('control: past the last entry',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),
[116, 116])],
[('offset before the first entry maps to first line',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),
[105, 105]),
('regression: exact entry offsets',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),
[106, 109]),
('interior offsets',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),
[106, 109]),
('no-line marker',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),
[117, 117]),
('negative line delta',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),
[111, 111]),
('zero line delta keeps line',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),
[111, 111]),
('control: past the last entry',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),
[118, 118])]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| offset before the first entry maps to first line | [101, 101] | [101, 101] | Passed |
| regression: exact entry offsets | [102, 105] | [102, 105] | Passed |
| interior offsets | [102, 105] | [102, 105] | Passed |
| no-line marker | [233, 233] | [None, None] | Failed |
| line resumes after marker | [237, 237] | [109, 109] | Failed |
| negative line delta | [231, 231] | [103, 103] | Failed |
| zero line delta keeps line | [231, 231] | [103, 103] | Failed |
| control: past the last entry | [238, 238] | [110, 110] | Failed |
SHA-256 / 33f77c7e411955cf977eada59527845d26b230f492e33cbf14b4d744f61737e3
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(first, pairs, queries):
starts, lines = [0], [first]
addr, line = 0, first
for ad, ld in pairs:
addr += ad * 2
if ld >= 128:
ld -= 256
if ld == -128:
starts.append(addr)
lines.append(None)
continue
line += ld
starts.append(addr)
lines.append(line)
out = []
for q in queries:
i = bisect.bisect_right(starts, q) - 1
out.append(lines[i])
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('offset before the first entry maps to first line',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),
[101, 101]),
('regression: exact entry offsets',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),
[102, 105]),
('interior offsets',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),
[102, 105]),
('no-line marker',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),
[109, 109]),
('negative line delta',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),
[103, 103]),
('zero line delta keeps line',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),
[103, 103]),
('control: past the last entry',
(101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),
[110, 110])],
[('offset before the first entry maps to first line',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),
[102, 102]),
('regression: exact entry offsets',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),
[103, 106]),
('interior offsets',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),
[103, 106]),
('no-line marker',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),
[111, 111]),
('negative line delta',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),
[105, 105]),
('zero line delta keeps line',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),
[105, 105]),
('control: past the last entry',
(102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),
[112, 112])],
[('offset before the first entry maps to first line',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),
[103, 103]),
('regression: exact entry offsets',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),
[104, 107]),
('interior offsets',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),
[104, 107]),
('no-line marker',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),
[113, 113]),
('negative line delta',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),
[107, 107]),
('zero line delta keeps line',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),
[107, 107]),
('control: past the last entry',
(103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),
[114, 114])],
[('offset before the first entry maps to first line',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),
[104, 104]),
('regression: exact entry offsets',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),
[105, 108]),
('interior offsets',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),
[105, 108]),
('no-line marker',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),
[115, 115]),
('negative line delta',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),
[109, 109]),
('zero line delta keeps line',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),
[109, 109]),
('control: past the last entry',
(104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),
[116, 116])],
[('offset before the first entry maps to first line',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),
[105, 105]),
('regression: exact entry offsets',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),
[106, 109]),
('interior offsets',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),
[106, 109]),
('no-line marker',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),
[None, None]),
('line resumes after marker',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),
[117, 117]),
('negative line delta',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),
[111, 111]),
('zero line delta keeps line',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),
[111, 111]),
('control: past the last entry',
(105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),
[118, 118])]]
for label, args, expected in cases[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| offset before the first entry maps to first line | [101, 101] | [101, 101] | Passed |
| regression: exact entry offsets | [102, 105] | [102, 105] | Passed |
| interior offsets | [102, 105] | [102, 105] | Passed |
| no-line marker | [None, None] | [None, None] | Passed |
| line resumes after marker | [109, 109] | [109, 109] | Passed |
| negative line delta | [103, 103] | [103, 103] | Passed |
| zero line delta keeps line | [103, 103] | [103, 103] | Passed |
| control: past the last entry | [110, 110] | [110, 110] | Passed |
SHA-256 / a22937290d0eabf6bb54d21278f5d5a9b3c813425cad85086e86c124d273d37d
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:51:22.567212+00:00.
Case digest / a48e32a5e2a397e7300ea0276f9fd82ae6f40ee9d87f20f1a36e287d5024e2e3