FAILURE MAP
← Case archive

FA-76071 / Chat ordering and read receipts / Open access

Page older history with a composite (ts, id) cursor: newest slice · case 01

Scrolling up loads the very oldest messages instead of those just above the view.

Verified by executionVariant 1 · 6 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The newest slice decision evaluates `rows[:limit]` where the contract requires `rows[-limit:] if limit > 0 else []`.

VERIFIED REPAIR

Use `rows[-limit:] if limit > 0 else []` for the newest slice decision and keep every other rule of the model unchanged.

Unsuccessful approach: Slicing from the end without guarding zero returns the whole history for a zero limit. The attempted `rows[-limit:]` still disagrees with a fixture.

Case contract

messages are [ts, id] pairs in any order; ordering is by (ts, id). cursor is None or the exclusive [ts, id] of the oldest message already shown. A page holds the newest `limit` messages strictly older than the cursor, in ascending order; next is the [ts, id] of the page's oldest item when older messages remain, else None.

Why this case matters

Infinite-scroll history must neither skip nor duplicate messages that share a timestamp.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(messages, cursor, limit):
    rows = sorted(messages, key=lambda m: (m[0], m[1]))
    if cursor is not None:
        rows = [m for m in rows if (m[0], m[1]) < (cursor[0], cursor[1])]
    page = rows[:limit]
    more = len(rows) > len(page)
    return {'page': [m[1] for m in page], 'next': [page[0][0], page[0][1]] if more and page else None}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [91, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x1']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08']], None, 3), {'next': [6, 'm06'], 'page': ['m06', 'm07', 'm08']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})], 2: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [92, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x2']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09']], None, 3), {'next': [7, 'm07'], 'page': ['m07', 'm08', 'm09']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 2), {'next': [13, 'id13'], 'page': ['id13', 'id14']})], 3: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [93, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x3']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10']], None, 3), {'next': [8, 'm08'], 'page': ['m08', 'm09', 'm10']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})], 4: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [94, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x4']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10'], [11, 'm11']], None, 3), {'next': [9, 'm09'], 'page': ['m09', 'm10', 'm11']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 2), {'next': [13, 'id13'], 'page': ['id13', 'id14']})], 5: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [95, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x5']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10'], [11, 'm11'], [12, 'm12']], None, 3), {'next': [10, 'm10'], 'page': ['m10', 'm11', 'm12']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})]}
for _label, _args, _expected in _CASES[N]:
    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 fixtureActualExpectedOutcome
siblings share the cursor timestamp{'next': None, 'page': ['z', 'a', 'b']}{'next': None, 'page': ['z', 'a', 'b']}Passed
equal timestamps across a page edge{'next': [40, 'x1'], 'page': ['x1', 'Q']}{'next': [50, 'a'], 'page': ['a', 'b']}Failed
first page{'next': [1, 'm01'], 'page': ['m01', 'm02', 'm03']}{'next': [6, 'm06'], 'page': ['m06', 'm07', 'm08']}Failed
exact multiple{'next': None, 'page': ['a', 'b', 'c', 'd']}{'next': None, 'page': ['a', 'b', 'c', 'd']}Passed
zero limit{'next': None, 'page': []}{'next': None, 'page': []}Passed
middle page{'next': [10, 'id10'], 'page': ['id10', 'id11', 'id12']}{'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']}Failed

SHA-256 / 801bb14c3c4ce644bcc293f5e599615e70d5439c1f1bd32bbd8718db2260c34d

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(messages, cursor, limit):
    rows = sorted(messages, key=lambda m: (m[0], m[1]))
    if cursor is not None:
        rows = [m for m in rows if (m[0], m[1]) < (cursor[0], cursor[1])]
    page = rows[-limit:]
    more = len(rows) > len(page)
    return {'page': [m[1] for m in page], 'next': [page[0][0], page[0][1]] if more and page else None}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [91, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x1']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08']], None, 3), {'next': [6, 'm06'], 'page': ['m06', 'm07', 'm08']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})], 2: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [92, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x2']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09']], None, 3), {'next': [7, 'm07'], 'page': ['m07', 'm08', 'm09']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 2), {'next': [13, 'id13'], 'page': ['id13', 'id14']})], 3: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [93, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x3']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10']], None, 3), {'next': [8, 'm08'], 'page': ['m08', 'm09', 'm10']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})], 4: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [94, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x4']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10'], [11, 'm11']], None, 3), {'next': [9, 'm09'], 'page': ['m09', 'm10', 'm11']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 2), {'next': [13, 'id13'], 'page': ['id13', 'id14']})], 5: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [95, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x5']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10'], [11, 'm11'], [12, 'm12']], None, 3), {'next': [10, 'm10'], 'page': ['m10', 'm11', 'm12']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})]}
for _label, _args, _expected in _CASES[N]:
    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 fixtureActualExpectedOutcome
siblings share the cursor timestamp{'next': None, 'page': ['z', 'a', 'b']}{'next': None, 'page': ['z', 'a', 'b']}Passed
equal timestamps across a page edge{'next': [50, 'a'], 'page': ['a', 'b']}{'next': [50, 'a'], 'page': ['a', 'b']}Passed
first page{'next': [6, 'm06'], 'page': ['m06', 'm07', 'm08']}{'next': [6, 'm06'], 'page': ['m06', 'm07', 'm08']}Passed
exact multiple{'next': None, 'page': ['a', 'b', 'c', 'd']}{'next': None, 'page': ['a', 'b', 'c', 'd']}Passed
zero limit{'next': None, 'page': ['a', 'b']}{'next': None, 'page': []}Failed
middle page{'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']}{'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']}Passed

SHA-256 / 44046c6300932e66ae7e76200c199873de4fd3d4ae16841d1539386532269033

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(messages, cursor, limit):
    rows = sorted(messages, key=lambda m: (m[0], m[1]))
    if cursor is not None:
        rows = [m for m in rows if (m[0], m[1]) < (cursor[0], cursor[1])]
    page = rows[-limit:] if limit > 0 else []
    more = len(rows) > len(page)
    return {'page': [m[1] for m in page], 'next': [page[0][0], page[0][1]] if more and page else None}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [91, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x1']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08']], None, 3), {'next': [6, 'm06'], 'page': ['m06', 'm07', 'm08']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})], 2: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [92, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x2']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09']], None, 3), {'next': [7, 'm07'], 'page': ['m07', 'm08', 'm09']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 2), {'next': [13, 'id13'], 'page': ['id13', 'id14']})], 3: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [93, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x3']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10']], None, 3), {'next': [8, 'm08'], 'page': ['m08', 'm09', 'm10']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})], 4: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [94, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x4']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10'], [11, 'm11']], None, 3), {'next': [9, 'm09'], 'page': ['m09', 'm10', 'm11']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 2), {'next': [13, 'id13'], 'page': ['id13', 'id14']})], 5: [('siblings share the cursor timestamp', ([[100, 'a'], [100, 'd'], [100, 'b'], [100, 'c'], [95, 'z']], [100, 'c'], 5), {'next': None, 'page': ['z', 'a', 'b']}), ('equal timestamps across a page edge', ([[50, 'b'], [50, 'Q'], [50, 'a'], [40, 'x5']], None, 2), {'next': [50, 'a'], 'page': ['a', 'b']}), ('first page', ([[1, 'm01'], [2, 'm02'], [3, 'm03'], [4, 'm04'], [5, 'm05'], [6, 'm06'], [7, 'm07'], [8, 'm08'], [9, 'm09'], [10, 'm10'], [11, 'm11'], [12, 'm12']], None, 3), {'next': [10, 'm10'], 'page': ['m10', 'm11', 'm12']}), ('exact multiple', ([[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']], [5, 'e'], 4), {'next': None, 'page': ['a', 'b', 'c', 'd']}), ('zero limit', ([[1, 'a'], [2, 'b']], None, 0), {'next': None, 'page': []}), ('middle page', ([[10, 'id10'], [11, 'id11'], [12, 'id12'], [13, 'id13'], [14, 'id14'], [15, 'id15'], [16, 'id16'], [17, 'id17'], [18, 'id18'], [19, 'id19']], [15, 'id15'], 3), {'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']})]}
for _label, _args, _expected in _CASES[N]:
    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 fixtureActualExpectedOutcome
siblings share the cursor timestamp{'next': None, 'page': ['z', 'a', 'b']}{'next': None, 'page': ['z', 'a', 'b']}Passed
equal timestamps across a page edge{'next': [50, 'a'], 'page': ['a', 'b']}{'next': [50, 'a'], 'page': ['a', 'b']}Passed
first page{'next': [6, 'm06'], 'page': ['m06', 'm07', 'm08']}{'next': [6, 'm06'], 'page': ['m06', 'm07', 'm08']}Passed
exact multiple{'next': None, 'page': ['a', 'b', 'c', 'd']}{'next': None, 'page': ['a', 'b', 'c', 'd']}Passed
zero limit{'next': None, 'page': []}{'next': None, 'page': []}Passed
middle page{'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']}{'next': [12, 'id12'], 'page': ['id12', 'id13', 'id14']}Passed

SHA-256 / 4e4147fd5d6024af8afb8e4af8e24f29267a80d1c1439ea2b6069cfb4cc7aa4d

Verification & scope

Stipulated offline chat model; not a complete messaging protocol, client or server 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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:49:12.852996+00:00.

Case digest / ff58c9bae0e75c158043af062f24f7f05547a99dd9df26082a30c9e850f38874