{"abstract":"Threads with fewer than three participants report a negative \"+N more\".","category":"Chat ordering and read receipts","checks":7,"contract":"messages {seq, root, author, deleted}; replies of a thread have root equal to the root seq (the root itself has root None). Deleted replies are ignored. Result {count, faces: first three distinct reply authors in order of their first reply, more: number of further distinct authors, last: seq of the newest reply or None}.","contract_signature":"messages, root","evaluation_group":"w2-chat_ordering_and_read_receipts-thread-summary","failed_approach":"Counting replies instead of distinct authors inflates the overflow. The attempted `len(replies) - 3` still disagrees with a fixture.","family":"w2-chat_ordering_and_read_receipts-thread-summary-overflow-count","id":"FA-76246","implementations":{"attempt":{"sha256":"584ea4df78590482fcb3d65b9248eb3918b41474b5b44b615d92dd8d8fce6e06","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(messages, root):\n    replies = sorted((m for m in messages if m['root'] == root and not m['deleted']), key=lambda m: m['seq'])\n    seen = []\n    for m in replies:\n        if m['author'] not in seen:\n            seen.append(m['author'])\n    return {'count': len(replies), 'faces': seen[:3], 'more': len(replies) - 3,\n            'last': replies[-1]['seq'] if replies else None}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 10, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 10, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u4', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u0', 'u1'], 'last': 19, 'more': 2}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})], 2: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 11, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 11, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u1', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u5', 'u0'], 'last': 19, 'more': 3}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})], 3: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 12, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 12, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 6, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u5', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u5', 'u6'], 'last': 19, 'more': 4}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})], 4: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 13, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 13, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 7, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u7', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u7', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u3', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u5', 'u6'], 'last': 19, 'more': 5}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})], 5: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 14, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 14, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 8, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u7', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u8', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u7', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u8', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u1', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u5', 'u6'], 'last': 19, 'more': 6}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})]}\nfor _label, _args, _expected in _CASES[N]:\n    check(_label, solve(*_args), _expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"26e56b66846c5cf416cc134af97f876481227f811bd72d6055c5a390cf25bebb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(messages, root):\n    replies = sorted((m for m in messages if m['root'] == root and not m['deleted']), key=lambda m: m['seq'])\n    seen = []\n    for m in replies:\n        if m['author'] not in seen:\n            seen.append(m['author'])\n    return {'count': len(replies), 'faces': seen[:3], 'more': len(seen) - 3,\n            'last': replies[-1]['seq'] if replies else None}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 10, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 10, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u4', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u0', 'u1'], 'last': 19, 'more': 2}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})], 2: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 11, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 11, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u1', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u5', 'u0'], 'last': 19, 'more': 3}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})], 3: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 12, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 12, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 6, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u5', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u5', 'u6'], 'last': 19, 'more': 4}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})], 4: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 13, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 13, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 7, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u7', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u7', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u3', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u5', 'u6'], 'last': 19, 'more': 5}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})], 5: [('root is not a reply', ([{'seq': 5, 'root': None, 'author': 'al', 'deleted': False}, {'seq': 6, 'root': 5, 'author': 'bo', 'deleted': False}, {'seq': 7, 'root': None, 'author': 'cy', 'deleted': False}], 5), {'count': 1, 'faces': ['bo'], 'last': 6, 'more': 0}), ('reply order by seq', ([{'seq': 14, 'root': 1, 'author': 'zed', 'deleted': False}, {'seq': 3, 'root': 1, 'author': 'amy', 'deleted': False}, {'seq': 4, 'root': 1, 'author': 'kim', 'deleted': False}], 1), {'count': 3, 'faces': ['amy', 'kim', 'zed'], 'last': 14, 'more': 0}), ('few authors', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('newest reply deleted', ([{'seq': 2, 'root': 1, 'author': 'a', 'deleted': False}, {'seq': 8, 'root': 1, 'author': 'b', 'deleted': True}], 1), {'count': 1, 'faces': ['a'], 'last': 2, 'more': 0}), ('alternating authors', ([{'seq': 1, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 2, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 3, 'root': 0, 'author': 'b', 'deleted': False}, {'seq': 4, 'root': 0, 'author': 'a', 'deleted': False}, {'seq': 5, 'root': 0, 'author': 'b', 'deleted': False}], 0), {'count': 5, 'faces': ['b', 'a'], 'last': 5, 'more': 0}), ('many authors', ([{'seq': 4, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 5, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 6, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 7, 'root': 3, 'author': 'u7', 'deleted': False}, {'seq': 8, 'root': 3, 'author': 'u8', 'deleted': False}, {'seq': 9, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 10, 'root': 3, 'author': 'u1', 'deleted': False}, {'seq': 11, 'root': 3, 'author': 'u2', 'deleted': False}, {'seq': 12, 'root': 3, 'author': 'u3', 'deleted': False}, {'seq': 13, 'root': 3, 'author': 'u4', 'deleted': False}, {'seq': 14, 'root': 3, 'author': 'u5', 'deleted': False}, {'seq': 15, 'root': 3, 'author': 'u6', 'deleted': False}, {'seq': 16, 'root': 3, 'author': 'u7', 'deleted': False}, {'seq': 17, 'root': 3, 'author': 'u8', 'deleted': False}, {'seq': 18, 'root': 3, 'author': 'u0', 'deleted': False}, {'seq': 19, 'root': 3, 'author': 'u1', 'deleted': False}], 3), {'count': 16, 'faces': ['u4', 'u5', 'u6'], 'last': 19, 'more': 6}), ('no replies', ([{'seq': 1, 'root': None, 'author': 'a', 'deleted': False}], 1), {'count': 0, 'faces': [], 'last': None, 'more': 0})]}\nfor _label, _args, _expected in _CASES[N]:\n    check(_label, solve(*_args), _expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-chat_ordering_and_read_receipts-thread-summary-overflow-count","generated_at":"2026-09-29T14:49:14.669873+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Thread summaries sit under the root message and drive navigation into the thread.","root_cause":"The overflow count decision evaluates `len(seen) - 3` where the contract requires `max(0, len(seen) - 3)`.","sha256":"b31be176b14b9d7e8e38185821fe667b99b0fc1601dc5b2a64e90684a954a80c","title":"Summarize a thread root's replies: overflow count · case 01","variant":1,"variant_policy":"N selects a different enumerated fixture set (shifted clocks, identifiers and sizes); boundary fixtures recur across variants.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.448,"exit_code":1,"observations":[{"actual":{"count":1,"faces":["bo"],"last":6,"more":-2},"check":"root is not a reply","expected":{"count":1,"faces":["bo"],"last":6,"more":0},"passed":false},{"actual":{"count":3,"faces":["amy","kim","zed"],"last":10,"more":0},"check":"reply order by seq","expected":{"count":3,"faces":["amy","kim","zed"],"last":10,"more":0},"passed":true},{"actual":{"count":1,"faces":["a"],"last":2,"more":-2},"check":"few authors","expected":{"count":1,"faces":["a"],"last":2,"more":0},"passed":false},{"actual":{"count":1,"faces":["a"],"last":2,"more":-2},"check":"newest reply deleted","expected":{"count":1,"faces":["a"],"last":2,"more":0},"passed":false},{"actual":{"count":5,"faces":["b","a"],"last":5,"more":2},"check":"alternating authors","expected":{"count":5,"faces":["b","a"],"last":5,"more":0},"passed":false},{"actual":{"count":16,"faces":["u4","u0","u1"],"last":19,"more":13},"check":"many authors","expected":{"count":16,"faces":["u4","u0","u1"],"last":19,"more":2},"passed":false},{"actual":{"count":0,"faces":[],"last":null,"more":-3},"check":"no replies","expected":{"count":0,"faces":[],"last":null,"more":0},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"root is not a reply\", \"actual\": {\"count\": 1, \"faces\": [\"bo\"], \"more\": -2, \"last\": 6}, \"expected\": {\"count\": 1, \"faces\": [\"bo\"], \"last\": 6, \"more\": 0}, \"passed\": false}, {\"check\": \"reply order by seq\", \"actual\": {\"count\": 3, \"faces\": [\"amy\", \"kim\", \"zed\"], \"more\": 0, \"last\": 10}, \"expected\": {\"count\": 3, \"faces\": [\"amy\", \"kim\", \"zed\"], \"last\": 10, \"more\": 0}, \"passed\": true}, {\"check\": \"few authors\", \"actual\": {\"count\": 1, \"faces\": [\"a\"], \"more\": -2, \"last\": 2}, \"expected\": {\"count\": 1, \"faces\": [\"a\"], \"last\": 2, \"more\": 0}, \"passed\": false}, {\"check\": \"newest reply deleted\", \"actual\": {\"count\": 1, \"faces\": [\"a\"], \"more\": -2, \"last\": 2}, \"expected\": {\"count\": 1, \"faces\": [\"a\"], \"last\": 2, \"more\": 0}, \"passed\": false}, {\"check\": \"alternating authors\", \"actual\": {\"count\": 5, \"faces\": [\"b\", \"a\"], \"more\": 2, \"last\": 5}, \"expected\": {\"count\": 5, \"faces\": [\"b\", \"a\"], \"last\": 5, \"more\": 0}, \"passed\": false}, {\"check\": \"many authors\", \"actual\": {\"count\": 16, \"faces\": [\"u4\", \"u0\", \"u1\"], \"more\": 13, \"last\": 19}, \"expected\": {\"count\": 16, \"faces\": [\"u4\", \"u0\", \"u1\"], \"last\": 19, \"more\": 2}, \"passed\": false}, {\"check\": \"no replies\", \"actual\": {\"count\": 0, \"faces\": [], \"more\": -3, \"last\": null}, \"expected\": {\"count\": 0, \"faces\": [], \"last\": null, \"more\": 0}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.125,"exit_code":1,"observations":[{"actual":{"count":1,"faces":["bo"],"last":6,"more":-2},"check":"root is not a reply","expected":{"count":1,"faces":["bo"],"last":6,"more":0},"passed":false},{"actual":{"count":3,"faces":["amy","kim","zed"],"last":10,"more":0},"check":"reply order by seq","expected":{"count":3,"faces":["amy","kim","zed"],"last":10,"more":0},"passed":true},{"actual":{"count":1,"faces":["a"],"last":2,"more":-2},"check":"few authors","expected":{"count":1,"faces":["a"],"last":2,"more":0},"passed":false},{"actual":{"count":1,"faces":["a"],"last":2,"more":-2},"check":"newest reply deleted","expected":{"count":1,"faces":["a"],"last":2,"more":0},"passed":false},{"actual":{"count":5,"faces":["b","a"],"last":5,"more":-1},"check":"alternating authors","expected":{"count":5,"faces":["b","a"],"last":5,"more":0},"passed":false},{"actual":{"count":16,"faces":["u4","u0","u1"],"last":19,"more":2},"check":"many authors","expected":{"count":16,"faces":["u4","u0","u1"],"last":19,"more":2},"passed":true},{"actual":{"count":0,"faces":[],"last":null,"more":-3},"check":"no replies","expected":{"count":0,"faces":[],"last":null,"more":0},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"root is not a reply\", \"actual\": {\"count\": 1, \"faces\": [\"bo\"], \"more\": -2, \"last\": 6}, \"expected\": {\"count\": 1, \"faces\": [\"bo\"], \"last\": 6, \"more\": 0}, \"passed\": false}, {\"check\": \"reply order by seq\", \"actual\": {\"count\": 3, \"faces\": [\"amy\", \"kim\", \"zed\"], \"more\": 0, \"last\": 10}, \"expected\": {\"count\": 3, \"faces\": [\"amy\", \"kim\", \"zed\"], \"last\": 10, \"more\": 0}, \"passed\": true}, {\"check\": \"few authors\", \"actual\": {\"count\": 1, \"faces\": [\"a\"], \"more\": -2, \"last\": 2}, \"expected\": {\"count\": 1, \"faces\": [\"a\"], \"last\": 2, \"more\": 0}, \"passed\": false}, {\"check\": \"newest reply deleted\", \"actual\": {\"count\": 1, \"faces\": [\"a\"], \"more\": -2, \"last\": 2}, \"expected\": {\"count\": 1, \"faces\": [\"a\"], \"last\": 2, \"more\": 0}, \"passed\": false}, {\"check\": \"alternating authors\", \"actual\": {\"count\": 5, \"faces\": [\"b\", \"a\"], \"more\": -1, \"last\": 5}, \"expected\": {\"count\": 5, \"faces\": [\"b\", \"a\"], \"last\": 5, \"more\": 0}, \"passed\": false}, {\"check\": \"many authors\", \"actual\": {\"count\": 16, \"faces\": [\"u4\", \"u0\", \"u1\"], \"more\": 2, \"last\": 19}, \"expected\": {\"count\": 16, \"faces\": [\"u4\", \"u0\", \"u1\"], \"last\": 19, \"more\": 2}, \"passed\": true}, {\"check\": \"no replies\", \"actual\": {\"count\": 0, \"faces\": [], \"more\": -3, \"last\": null}, \"expected\": {\"count\": 0, \"faces\": [], \"last\": null, \"more\": 0}, \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}