{"abstract":"A transport failure reported after delivery marks a delivered message as failed.","category":"Chat ordering and read receipts","checks":9,"contract":"events are [seq, kind] with kind in queued, sent, delivered, read, failed, retry, processed in (seq, kind) order. Ranks queued<sent<delivered<read and status never regresses. failed only applies while queued or sent; retry moves failed back to queued; after a failure only delivered or read evidence (not a stale sent) replaces it. Result {status, history} where history lists every status change starting at queued.","evaluation_group":"w2-chat_ordering_and_read_receipts-receipt-status-fold","failed_approach":"Accepting failures only from sent ignores failures of messages that never left the queue. The attempted `status == 'sent'` still disagrees with a fixture.","family":"w2-chat_ordering_and_read_receipts-receipt-status-fold-failure-window","id":"FA-75946","implementations":{"attempt":{"sha256":"8b439d660267c32da545c270dcabbc0c35990354be28bd622d1ae103eeef0588","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    rank = {'queued': 0, 'sent': 1, 'delivered': 2, 'read': 3}\n    status = 'queued'\n    history = ['queued']\n    for _, kind in sorted(events):\n        if kind == 'failed':\n            nxt = 'failed' if status == 'sent' else status\n        elif kind == 'retry':\n            nxt = 'queued' if status == 'failed' else status\n        elif status == 'failed':\n            nxt = kind if rank[kind] >= rank['delivered'] else status\n        else:\n            nxt = kind if rank[kind] > rank[status] else status\n        if nxt != status:\n            status = nxt\n            history.append(status)\n    return {'status': status, 'history': history}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('arrival order differs', ([[4, 'read'], [2, 'sent'], [3, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[1, 'failed'], [2, 'retry'], [3, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [3, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [4, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [5, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 2: [('arrival order differs', ([[5, 'read'], [3, 'sent'], [4, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[2, 'failed'], [3, 'retry'], [4, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [4, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [5, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [6, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 3: [('arrival order differs', ([[6, 'read'], [4, 'sent'], [5, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[3, 'failed'], [4, 'retry'], [5, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [5, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [6, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [7, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 4: [('arrival order differs', ([[7, 'read'], [5, 'sent'], [6, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[4, 'failed'], [5, 'retry'], [6, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [6, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [7, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [8, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 5: [('arrival order differs', ([[8, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[5, 'failed'], [6, 'retry'], [7, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [7, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [8, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [9, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})]}\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":"f7d5fe4455efdb4a8bfc51efa91ce35f26972d5d31ed81151b9eb72f197d27f1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    rank = {'queued': 0, 'sent': 1, 'delivered': 2, 'read': 3}\n    status = 'queued'\n    history = ['queued']\n    for _, kind in sorted(events):\n        if kind == 'failed':\n            nxt = 'failed' if status != 'read' else status\n        elif kind == 'retry':\n            nxt = 'queued' if status == 'failed' else status\n        elif status == 'failed':\n            nxt = kind if rank[kind] >= rank['delivered'] else status\n        else:\n            nxt = kind if rank[kind] > rank[status] else status\n        if nxt != status:\n            status = nxt\n            history.append(status)\n    return {'status': status, 'history': history}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('arrival order differs', ([[4, 'read'], [2, 'sent'], [3, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[1, 'failed'], [2, 'retry'], [3, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [3, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [4, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [5, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 2: [('arrival order differs', ([[5, 'read'], [3, 'sent'], [4, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[2, 'failed'], [3, 'retry'], [4, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [4, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [5, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [6, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 3: [('arrival order differs', ([[6, 'read'], [4, 'sent'], [5, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[3, 'failed'], [4, 'retry'], [5, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [5, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [6, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [7, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 4: [('arrival order differs', ([[7, 'read'], [5, 'sent'], [6, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[4, 'failed'], [5, 'retry'], [6, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [6, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [7, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [8, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 5: [('arrival order differs', ([[8, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[5, 'failed'], [6, 'retry'], [7, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [7, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [8, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [9, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})]}\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"},"fixed":{"sha256":"2e9f0cc433b1ca15e91dc798d7016aa903ed60b3b82660cec8b326d5945fd38d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    rank = {'queued': 0, 'sent': 1, 'delivered': 2, 'read': 3}\n    status = 'queued'\n    history = ['queued']\n    for _, kind in sorted(events):\n        if kind == 'failed':\n            nxt = 'failed' if status in ('queued', 'sent') else status\n        elif kind == 'retry':\n            nxt = 'queued' if status == 'failed' else status\n        elif status == 'failed':\n            nxt = kind if rank[kind] >= rank['delivered'] else status\n        else:\n            nxt = kind if rank[kind] > rank[status] else status\n        if nxt != status:\n            status = nxt\n            history.append(status)\n    return {'status': status, 'history': history}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('arrival order differs', ([[4, 'read'], [2, 'sent'], [3, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[1, 'failed'], [2, 'retry'], [3, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [3, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [4, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [5, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 2: [('arrival order differs', ([[5, 'read'], [3, 'sent'], [4, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[2, 'failed'], [3, 'retry'], [4, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [4, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [5, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [6, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 3: [('arrival order differs', ([[6, 'read'], [4, 'sent'], [5, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[3, 'failed'], [4, 'retry'], [5, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [5, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [6, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [7, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 4: [('arrival order differs', ([[7, 'read'], [5, 'sent'], [6, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[4, 'failed'], [5, 'retry'], [6, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [6, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [7, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [8, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})], 5: [('arrival order differs', ([[8, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}), ('failure after delivery', ([[1, 'sent'], [2, 'delivered'], [3, 'failed']],), {'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}), ('failure while queued', ([[5, 'failed'], [6, 'retry'], [7, 'sent']],), {'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}), ('retry after read', ([[1, 'read'], [2, 'retry']],), {'history': ['queued', 'read'], 'status': 'read'}), ('retry after delivery', ([[1, 'delivered'], [7, 'retry']],), {'history': ['queued', 'delivered'], 'status': 'delivered'}), ('late delivery after failure', ([[1, 'sent'], [2, 'failed'], [3, 'delivered']],), {'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}), ('stale sent after failure', ([[1, 'sent'], [2, 'failed'], [8, 'sent']],), {'history': ['queued', 'sent', 'failed'], 'status': 'failed'}), ('late sent after read', ([[5, 'read'], [6, 'sent'], [7, 'delivered']],), {'history': ['queued', 'read'], 'status': 'read'}), ('failed then retried delivery', ([[2, 'failed'], [3, 'retry'], [4, 'delivered'], [9, 'failed']],), {'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'})]}\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-receipt-status-fold-failure-window","generated_at":"2026-09-29T14:49:11.583373+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Per-recipient ticks are assembled from events that arrive out of order across transports.","repair":"Use `status in ('queued', 'sent')` for the failure window decision and keep every other rule of the model unchanged.","root_cause":"The failure window decision evaluates `status != 'read'` where the contract requires `status in ('queued', 'sent')`.","sha256":"5b8f1a53776b56e49599dcfe417b9ca55456e3ef0064db45804605e13bbec7b8","title":"Fold out-of-order delivery events into a recipient status: failure window · case 01","variant":1,"variant_policy":"N selects a different enumerated fixture set (shifted clocks, identifiers and sizes); boundary fixtures recur across variants.","verification":{"attempt":{"elapsed_ms":41.938,"exit_code":1,"observations":[{"actual":{"history":["queued","sent","delivered","read"],"status":"read"},"check":"arrival order differs","expected":{"history":["queued","sent","delivered","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","sent","delivered"],"status":"delivered"},"check":"failure after delivery","expected":{"history":["queued","sent","delivered"],"status":"delivered"},"passed":true},{"actual":{"history":["queued","sent"],"status":"sent"},"check":"failure while queued","expected":{"history":["queued","failed","queued","sent"],"status":"sent"},"passed":false},{"actual":{"history":["queued","read"],"status":"read"},"check":"retry after read","expected":{"history":["queued","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","delivered"],"status":"delivered"},"check":"retry after delivery","expected":{"history":["queued","delivered"],"status":"delivered"},"passed":true},{"actual":{"history":["queued","sent","failed","delivered"],"status":"delivered"},"check":"late delivery after failure","expected":{"history":["queued","sent","failed","delivered"],"status":"delivered"},"passed":true},{"actual":{"history":["queued","sent","failed"],"status":"failed"},"check":"stale sent after failure","expected":{"history":["queued","sent","failed"],"status":"failed"},"passed":true},{"actual":{"history":["queued","read"],"status":"read"},"check":"late sent after read","expected":{"history":["queued","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","delivered"],"status":"delivered"},"check":"failed then retried delivery","expected":{"history":["queued","failed","queued","delivered"],"status":"delivered"},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"arrival order differs\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"sent\", \"delivered\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"delivered\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"failure after delivery\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"sent\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}, {\"check\": \"failure while queued\", \"actual\": {\"status\": \"sent\", \"history\": [\"queued\", \"sent\"]}, \"expected\": {\"history\": [\"queued\", \"failed\", \"queued\", \"sent\"], \"status\": \"sent\"}, \"passed\": false}, {\"check\": \"retry after read\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"retry after delivery\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}, {\"check\": \"late delivery after failure\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"sent\", \"failed\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"failed\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}, {\"check\": \"stale sent after failure\", \"actual\": {\"status\": \"failed\", \"history\": [\"queued\", \"sent\", \"failed\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"failed\"], \"status\": \"failed\"}, \"passed\": true}, {\"check\": \"late sent after read\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"failed then retried delivery\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"failed\", \"queued\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.556,"exit_code":1,"observations":[{"actual":{"history":["queued","sent","delivered","read"],"status":"read"},"check":"arrival order differs","expected":{"history":["queued","sent","delivered","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","sent","delivered","failed"],"status":"failed"},"check":"failure after delivery","expected":{"history":["queued","sent","delivered"],"status":"delivered"},"passed":false},{"actual":{"history":["queued","failed","queued","sent"],"status":"sent"},"check":"failure while queued","expected":{"history":["queued","failed","queued","sent"],"status":"sent"},"passed":true},{"actual":{"history":["queued","read"],"status":"read"},"check":"retry after read","expected":{"history":["queued","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","delivered"],"status":"delivered"},"check":"retry after delivery","expected":{"history":["queued","delivered"],"status":"delivered"},"passed":true},{"actual":{"history":["queued","sent","failed","delivered"],"status":"delivered"},"check":"late delivery after failure","expected":{"history":["queued","sent","failed","delivered"],"status":"delivered"},"passed":true},{"actual":{"history":["queued","sent","failed"],"status":"failed"},"check":"stale sent after failure","expected":{"history":["queued","sent","failed"],"status":"failed"},"passed":true},{"actual":{"history":["queued","read"],"status":"read"},"check":"late sent after read","expected":{"history":["queued","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","failed","queued","delivered","failed"],"status":"failed"},"check":"failed then retried delivery","expected":{"history":["queued","failed","queued","delivered"],"status":"delivered"},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"arrival order differs\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"sent\", \"delivered\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"delivered\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"failure after delivery\", \"actual\": {\"status\": \"failed\", \"history\": [\"queued\", \"sent\", \"delivered\", \"failed\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": false}, {\"check\": \"failure while queued\", \"actual\": {\"status\": \"sent\", \"history\": [\"queued\", \"failed\", \"queued\", \"sent\"]}, \"expected\": {\"history\": [\"queued\", \"failed\", \"queued\", \"sent\"], \"status\": \"sent\"}, \"passed\": true}, {\"check\": \"retry after read\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"retry after delivery\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}, {\"check\": \"late delivery after failure\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"sent\", \"failed\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"failed\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}, {\"check\": \"stale sent after failure\", \"actual\": {\"status\": \"failed\", \"history\": [\"queued\", \"sent\", \"failed\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"failed\"], \"status\": \"failed\"}, \"passed\": true}, {\"check\": \"late sent after read\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"failed then retried delivery\", \"actual\": {\"status\": \"failed\", \"history\": [\"queued\", \"failed\", \"queued\", \"delivered\", \"failed\"]}, \"expected\": {\"history\": [\"queued\", \"failed\", \"queued\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.233,"exit_code":0,"observations":[{"actual":{"history":["queued","sent","delivered","read"],"status":"read"},"check":"arrival order differs","expected":{"history":["queued","sent","delivered","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","sent","delivered"],"status":"delivered"},"check":"failure after delivery","expected":{"history":["queued","sent","delivered"],"status":"delivered"},"passed":true},{"actual":{"history":["queued","failed","queued","sent"],"status":"sent"},"check":"failure while queued","expected":{"history":["queued","failed","queued","sent"],"status":"sent"},"passed":true},{"actual":{"history":["queued","read"],"status":"read"},"check":"retry after read","expected":{"history":["queued","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","delivered"],"status":"delivered"},"check":"retry after delivery","expected":{"history":["queued","delivered"],"status":"delivered"},"passed":true},{"actual":{"history":["queued","sent","failed","delivered"],"status":"delivered"},"check":"late delivery after failure","expected":{"history":["queued","sent","failed","delivered"],"status":"delivered"},"passed":true},{"actual":{"history":["queued","sent","failed"],"status":"failed"},"check":"stale sent after failure","expected":{"history":["queued","sent","failed"],"status":"failed"},"passed":true},{"actual":{"history":["queued","read"],"status":"read"},"check":"late sent after read","expected":{"history":["queued","read"],"status":"read"},"passed":true},{"actual":{"history":["queued","failed","queued","delivered"],"status":"delivered"},"check":"failed then retried delivery","expected":{"history":["queued","failed","queued","delivered"],"status":"delivered"},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"arrival order differs\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"sent\", \"delivered\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"delivered\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"failure after delivery\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"sent\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}, {\"check\": \"failure while queued\", \"actual\": {\"status\": \"sent\", \"history\": [\"queued\", \"failed\", \"queued\", \"sent\"]}, \"expected\": {\"history\": [\"queued\", \"failed\", \"queued\", \"sent\"], \"status\": \"sent\"}, \"passed\": true}, {\"check\": \"retry after read\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"retry after delivery\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}, {\"check\": \"late delivery after failure\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"sent\", \"failed\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"failed\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}, {\"check\": \"stale sent after failure\", \"actual\": {\"status\": \"failed\", \"history\": [\"queued\", \"sent\", \"failed\"]}, \"expected\": {\"history\": [\"queued\", \"sent\", \"failed\"], \"status\": \"failed\"}, \"passed\": true}, {\"check\": \"late sent after read\", \"actual\": {\"status\": \"read\", \"history\": [\"queued\", \"read\"]}, \"expected\": {\"history\": [\"queued\", \"read\"], \"status\": \"read\"}, \"passed\": true}, {\"check\": \"failed then retried delivery\", \"actual\": {\"status\": \"delivered\", \"history\": [\"queued\", \"failed\", \"queued\", \"delivered\"]}, \"expected\": {\"history\": [\"queued\", \"failed\", \"queued\", \"delivered\"], \"status\": \"delivered\"}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}