FA-76061 / Chat ordering and read receipts / Open access
Page older history with a composite (ts, id) cursor: composite cursor · case 01
Messages sharing the cursor timestamp are skipped when loading older history.
ROOT CAUSE
The composite cursor decision evaluates `m[0] < cursor[0]` where the contract requires `(m[0], m[1]) < (cursor[0], cursor[1])`.
VERIFIED REPAIR
Use `(m[0], m[1]) < (cursor[0], cursor[1])` for the composite cursor decision and keep every other rule of the model unchanged.
Unsuccessful approach: Excluding only the cursor id reloads newer siblings that were already displayed. The attempted `m[0] <= cursor[0] and m[1] != cursor[1]` 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] < cursor[0]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| siblings share the cursor timestamp | {'next': None, 'page': ['z']} | {'next': None, 'page': ['z', 'a', 'b']} | Failed |
| 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 / 1fbd3e89b18944653d6b988dbc98454f80ea7dd28c2ff43fe0b4cb4e4e12d812
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] <= cursor[0] and m[1] != 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| siblings share the cursor timestamp | {'next': None, 'page': ['z', 'a', 'b', 'd']} | {'next': None, 'page': ['z', 'a', 'b']} | Failed |
| 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 / cb33cb8b25000fe244bd9a83bfefc8b05c93910a08f41a87b11dc424a7727b8d
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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.819840+00:00.
Case digest / b45094b1c6bf708776eb8238df7589ed33607ac494b83f55ce39eb273be16836