FA-76291 / Chat ordering and read receipts / Open access
Order the conversation list by pins and activity: activity descending · case 01
The least active conversations are listed first, or ties follow input order.
ROOT CAUSE
The activity descending decision evaluates `key=lambda c: (activity(c), c['id'])` where the contract requires `key=lambda c: (-activity(c), c['id'])`.
VERIFIED REPAIR
Use `key=lambda c: (-activity(c), c['id'])` for the activity descending decision and keep every other rule of the model unchanged.
Unsuccessful approach: Dropping the id tie-break orders equally active conversations by input order. The attempted `key=lambda c: -activity(c)` 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: 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 | ['a', 'b'] | ['b', 'a'] | Failed |
| pin rank zero | ['p0', 'p1', 'x'] | ['p0', 'p1', 'x'] | Passed |
| activity ties | ['z', 'c', 'm'] | ['c', 'm', 'z'] | Failed |
| draft bumps | ['e', 'd'] | ['d', 'e'] | Failed |
| pins by rank not activity | ['old', 'new'] | ['old', 'new'] | Passed |
| silent without draft | ['q', 'r'] | ['r', 'q'] | Failed |
SHA-256 / fecc5cb943b4c55e3583d3cf81172e0aa557cccf2baab03eea877a58a407f887
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: c['pinned'])
rest = sorted((c for c in convs if c['pinned'] is None), key=lambda c: -activity(c))
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 | ['m', 'c', 'z'] | ['c', 'm', 'z'] | Failed |
| 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 / 84eb1187babc240eb15a93fe7e4cd6227a76d2e3bd1b5ec4b2d5f7c3273e738d
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.851065+00:00.
Case digest / d3a7a51a9dd71b2fcb64cb57bf63e7af88e240cab4d520af7770c59f79601124