FA-76296 / Chat ordering and read receipts / Open access
Order the conversation list by pins and activity: pinned order · case 01
Pinned conversations reshuffle by activity instead of keeping the user's pin order.
ROOT CAUSE
The pinned order decision evaluates `key=lambda c: -activity(c)` where the contract requires `key=lambda c: c['pinned']`.
VERIFIED REPAIR
Use `key=lambda c: c['pinned']` for the pinned order decision and keep every other rule of the model unchanged.
Unsuccessful approach: Using the pin rank only as a tie-break still reorders pins by activity. The attempted `key=lambda c: (-activity(c), c['pinned'])` still disagrees with a fixture.
Case contract
convs {id, pinned (rank or None), last_msg, last_silent, draft_ts (or None)}. Pinned conversations come first by pin rank (rank 0 is a valid pin). The rest are ordered by activity descending, then id ascending, where activity is the later of the last real message and the local draft; silent events (avatar or topic changes) never count.
Why this case matters
The conversation list is the entry point of a chat app; wrong ordering buries active conversations.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(convs):
def activity(c):
return max(c['last_msg'], c['draft_ts'] or 0)
pinned = sorted((c for c in convs if c['pinned'] is not None), key=lambda c: -activity(c))
rest = sorted((c for c in convs if c['pinned'] is None), key=lambda c: (-activity(c), c['id']))
return [c['id'] for c in pinned + rest]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 21, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 4, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 21, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 91, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 2: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 22, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 22, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 92, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 3: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 23, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 6, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 23, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 93, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 4: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 24, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 24, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 94, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 5: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 25, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': None}],), ['z', 'c', 'm']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 25, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 95, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])]}
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 |
|---|---|---|---|
| silent topic change | ['b', 'a'] | ['b', 'a'] | Passed |
| pin rank zero | ['p1', 'p0', 'x'] | ['p0', 'p1', 'x'] | Failed |
| activity ties | ['c', 'm', 'z'] | ['c', 'm', 'z'] | Passed |
| draft bumps | ['d', 'e'] | ['d', 'e'] | Passed |
| pins by rank not activity | ['new', 'old'] | ['old', 'new'] | Failed |
| silent without draft | ['r', 'q'] | ['r', 'q'] | Passed |
SHA-256 / a03128618ffb91d45c995f9bd1aa1268ecb672cc67d70edb76f58ac8420814ac
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(convs):
def activity(c):
return max(c['last_msg'], c['draft_ts'] or 0)
pinned = sorted((c for c in convs if c['pinned'] is not None), key=lambda c: (-activity(c), c['pinned']))
rest = sorted((c for c in convs if c['pinned'] is None), key=lambda c: (-activity(c), c['id']))
return [c['id'] for c in pinned + rest]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 21, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 4, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 21, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 91, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 2: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 22, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 22, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 92, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 3: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 23, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 6, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 23, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 93, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 4: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 24, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 24, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 94, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 5: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 25, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': None}],), ['z', 'c', 'm']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 25, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 95, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])]}
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 |
|---|---|---|---|
| silent topic change | ['b', 'a'] | ['b', 'a'] | Passed |
| pin rank zero | ['p1', 'p0', 'x'] | ['p0', 'p1', 'x'] | Failed |
| activity ties | ['c', 'm', 'z'] | ['c', 'm', 'z'] | Passed |
| draft bumps | ['d', 'e'] | ['d', 'e'] | Passed |
| pins by rank not activity | ['new', 'old'] | ['old', 'new'] | Failed |
| silent without draft | ['r', 'q'] | ['r', 'q'] | Passed |
SHA-256 / 75d04d178ac9970179fc8b0ca788a6ce4e4163f23034c8f6b10f9123ab377050
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(convs):
def activity(c):
return max(c['last_msg'], c['draft_ts'] or 0)
pinned = sorted((c for c in convs if c['pinned'] is not None), key=lambda c: c['pinned'])
rest = sorted((c for c in convs if c['pinned'] is None), key=lambda c: (-activity(c), c['id']))
return [c['id'] for c in pinned + rest]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 21, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 4, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 21, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 91, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 2: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 22, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 22, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 92, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 3: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 23, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 6, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 23, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 93, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 4: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 24, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}],), ['c', 'm', 'z']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 24, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 94, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])], 5: [('silent topic change', ([{'id': 'a', 'pinned': None, 'last_msg': 10, 'last_silent': 99, 'draft_ts': None}, {'id': 'b', 'pinned': None, 'last_msg': 25, 'last_silent': 0, 'draft_ts': None}],), ['b', 'a']), ('pin rank zero', ([{'id': 'p0', 'pinned': 0, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'p1', 'pinned': 1, 'last_msg': 2, 'last_silent': 0, 'draft_ts': None}, {'id': 'x', 'pinned': None, 'last_msg': 50, 'last_silent': 0, 'draft_ts': None}],), ['p0', 'p1', 'x']), ('activity ties', ([{'id': 'm', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'c', 'pinned': None, 'last_msg': 7, 'last_silent': 0, 'draft_ts': None}, {'id': 'z', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': None}],), ['z', 'c', 'm']), ('draft bumps', ([{'id': 'd', 'pinned': None, 'last_msg': 5, 'last_silent': 0, 'draft_ts': 30}, {'id': 'e', 'pinned': None, 'last_msg': 25, 'last_silent': 0, 'draft_ts': None}],), ['d', 'e']), ('pins by rank not activity', ([{'id': 'old', 'pinned': 1, 'last_msg': 1, 'last_silent': 0, 'draft_ts': None}, {'id': 'new', 'pinned': 2, 'last_msg': 95, 'last_silent': 0, 'draft_ts': None}],), ['old', 'new']), ('silent without draft', ([{'id': 'q', 'pinned': None, 'last_msg': 4, 'last_silent': 60, 'draft_ts': None}, {'id': 'r', 'pinned': None, 'last_msg': 8, 'last_silent': 0, 'draft_ts': 2}],), ['r', 'q'])]}
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 |
|---|---|---|---|
| silent topic change | ['b', 'a'] | ['b', 'a'] | Passed |
| pin rank zero | ['p0', 'p1', 'x'] | ['p0', 'p1', 'x'] | Passed |
| activity ties | ['c', 'm', 'z'] | ['c', 'm', 'z'] | Passed |
| draft bumps | ['d', 'e'] | ['d', 'e'] | Passed |
| pins by rank not activity | ['old', 'new'] | ['old', 'new'] | Passed |
| silent without draft | ['r', 'q'] | ['r', 'q'] | Passed |
SHA-256 / aaf0c32a249f95d6a57a344d416378b937fc7a6e8a54016a800cd5199b0dfa6a
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:14.891436+00:00.
Case digest / 3f1e7af17665688c5902166a5be0293679c137b383b8fa03de13f0c92a9d0eed