FAILURE MAP
← Case archive

FA-75961 / Chat ordering and read receipts / Open access

Fold out-of-order delivery events into a recipient status: no regression · case 01

A late "sent" event downgrades a message that was already read.

Verified by executionVariant 1 · 9 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The no regression decision evaluates `rank[kind] != rank[status]` where the contract requires `rank[kind] > rank[status]`.

VERIFIED REPAIR

Use `rank[kind] > rank[status]` for the no regression decision and keep every other rule of the model unchanged.

Unsuccessful approach: Allowing a one-rank step back still lets delivered regress read-state ticks. The attempted `rank[kind] >= rank[status] - 1` still disagrees with a fixture.

Case 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.

Why this case matters

Per-recipient ticks are assembled from events that arrive out of order across transports.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(events):
    rank = {'queued': 0, 'sent': 1, 'delivered': 2, 'read': 3}
    status = 'queued'
    history = ['queued']
    for _, kind in sorted(events):
        if kind == 'failed':
            nxt = 'failed' if status in ('queued', 'sent') else status
        elif kind == 'retry':
            nxt = 'queued' if status == 'failed' else status
        elif status == 'failed':
            nxt = kind if rank[kind] >= rank['delivered'] else status
        else:
            nxt = kind if rank[kind] != rank[status] else status
        if nxt != status:
            status = nxt
            history.append(status)
    return {'status': status, 'history': history}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_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'})]}
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 fixtureActualExpectedOutcome
arrival order differs{'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}{'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}Passed
failure after delivery{'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}Passed
failure while queued{'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}{'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}Passed
retry after read{'history': ['queued', 'read'], 'status': 'read'}{'history': ['queued', 'read'], 'status': 'read'}Passed
retry after delivery{'history': ['queued', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'delivered'], 'status': 'delivered'}Passed
late delivery after failure{'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}Passed
stale sent after failure{'history': ['queued', 'sent', 'failed'], 'status': 'failed'}{'history': ['queued', 'sent', 'failed'], 'status': 'failed'}Passed
late sent after read{'history': ['queued', 'read', 'sent', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'read'], 'status': 'read'}Failed
failed then retried delivery{'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'}Passed

SHA-256 / 6e743243539e4fbf7693b942bcf839584aa2731ee1960040df78f508eafab47c

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(events):
    rank = {'queued': 0, 'sent': 1, 'delivered': 2, 'read': 3}
    status = 'queued'
    history = ['queued']
    for _, kind in sorted(events):
        if kind == 'failed':
            nxt = 'failed' if status in ('queued', 'sent') else status
        elif kind == 'retry':
            nxt = 'queued' if status == 'failed' else status
        elif status == 'failed':
            nxt = kind if rank[kind] >= rank['delivered'] else status
        else:
            nxt = kind if rank[kind] >= rank[status] - 1 else status
        if nxt != status:
            status = nxt
            history.append(status)
    return {'status': status, 'history': history}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_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'})]}
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 fixtureActualExpectedOutcome
arrival order differs{'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}{'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}Passed
failure after delivery{'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}Passed
failure while queued{'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}{'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}Passed
retry after read{'history': ['queued', 'read'], 'status': 'read'}{'history': ['queued', 'read'], 'status': 'read'}Passed
retry after delivery{'history': ['queued', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'delivered'], 'status': 'delivered'}Passed
late delivery after failure{'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}Passed
stale sent after failure{'history': ['queued', 'sent', 'failed'], 'status': 'failed'}{'history': ['queued', 'sent', 'failed'], 'status': 'failed'}Passed
late sent after read{'history': ['queued', 'read', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'read'], 'status': 'read'}Failed
failed then retried delivery{'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'}Passed

SHA-256 / 60e93bbeb9506bb2643bfce372038280c15ad92b7e83c12d62955927fb3e6197

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(events):
    rank = {'queued': 0, 'sent': 1, 'delivered': 2, 'read': 3}
    status = 'queued'
    history = ['queued']
    for _, kind in sorted(events):
        if kind == 'failed':
            nxt = 'failed' if status in ('queued', 'sent') else status
        elif kind == 'retry':
            nxt = 'queued' if status == 'failed' else status
        elif status == 'failed':
            nxt = kind if rank[kind] >= rank['delivered'] else status
        else:
            nxt = kind if rank[kind] > rank[status] else status
        if nxt != status:
            status = nxt
            history.append(status)
    return {'status': status, 'history': history}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_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'})]}
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 fixtureActualExpectedOutcome
arrival order differs{'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}{'history': ['queued', 'sent', 'delivered', 'read'], 'status': 'read'}Passed
failure after delivery{'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'sent', 'delivered'], 'status': 'delivered'}Passed
failure while queued{'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}{'history': ['queued', 'failed', 'queued', 'sent'], 'status': 'sent'}Passed
retry after read{'history': ['queued', 'read'], 'status': 'read'}{'history': ['queued', 'read'], 'status': 'read'}Passed
retry after delivery{'history': ['queued', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'delivered'], 'status': 'delivered'}Passed
late delivery after failure{'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'sent', 'failed', 'delivered'], 'status': 'delivered'}Passed
stale sent after failure{'history': ['queued', 'sent', 'failed'], 'status': 'failed'}{'history': ['queued', 'sent', 'failed'], 'status': 'failed'}Passed
late sent after read{'history': ['queued', 'read'], 'status': 'read'}{'history': ['queued', 'read'], 'status': 'read'}Passed
failed then retried delivery{'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'}{'history': ['queued', 'failed', 'queued', 'delivered'], 'status': 'delivered'}Passed

SHA-256 / 2e9f0cc433b1ca15e91dc798d7016aa903ed60b3b82660cec8b326d5945fd38d

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:11.919161+00:00.

Case digest / 384771a0b38df3c77fede66f6d658113c80307424594f87ea4233a16176407d8