FAILURE MAP
← Case archive

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

Count unread mentions and choose the jump target: self authored · case 01

The user's own @everyone message counts as an unread mention.

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

ROOT CAUSE

The self authored decision evaluates `:` where the contract requires `or author == me:`.

VERIFIED REPAIR

Use `or author == me:` for the self authored decision and keep every other rule of the model unchanged.

Unsuccessful approach: Exempting only non-@everyone own messages still counts the user's own broadcast. The attempted `or (author == me and '@everyone' not in mentions):` still disagrees with a fixture.

Case contract

messages are [seq, author, mentions]. A message after the marker, not written by me, counts when it mentions me directly or mentions "@everyone" while the room does not suppress @everyone. Messages are evaluated in seq order and the jump target is the earliest counted seq. Result {count, jump}.

Why this case matters

Mention counters and "jump to mention" buttons need the same filter as the unread state.

1 / The failure

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

N = 1
observations = []
def solve(messages, me, marker, suppress_everyone):
    hits = []
    for seq, author, mentions in sorted(messages):
        if seq <= marker :
            continue
        if me in mentions or ('@everyone' in mentions and not suppress_everyone):
            hits.append(seq)
    return {'count': len(hits), 'jump': hits[0] if hits else None}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('suppressed everyone', ([[6, 'bo', ['@everyone']], [7, 'bo', ['me']], [8, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 7}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[10, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 2, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 2: [('suppressed everyone', ([[7, 'bo', ['@everyone']], [8, 'bo', ['me']], [9, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 8}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[11, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 3, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 3: [('suppressed everyone', ([[8, 'bo', ['@everyone']], [9, 'bo', ['me']], [10, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 9}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[12, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 4, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 4: [('suppressed everyone', ([[9, 'bo', ['@everyone']], [10, 'bo', ['me']], [11, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 10}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[13, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 5, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 5: [('suppressed everyone', ([[10, 'bo', ['@everyone']], [11, 'bo', ['me']], [12, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 11}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[14, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 6, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})]}
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
suppressed everyone{'count': 1, 'jump': 7}{'count': 1, 'jump': 7}Passed
own everyone ping{'count': 1, 'jump': 3}{'count': 0, 'jump': None}Failed
out of order arrival{'count': 2, 'jump': 4}{'count': 2, 'jump': 4}Passed
everyone allowed{'count': 1, 'jump': 2}{'count': 1, 'jump': 2}Passed
already read{'count': 0, 'jump': None}{'count': 0, 'jump': None}Passed
direct mention when suppressed{'count': 1, 'jump': 7}{'count': 1, 'jump': 7}Passed

SHA-256 / e3a53b1f69f5a1e4e1392c9247982c780a5fa289a246d840c55bc03beb301746

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(messages, me, marker, suppress_everyone):
    hits = []
    for seq, author, mentions in sorted(messages):
        if seq <= marker or (author == me and '@everyone' not in mentions):
            continue
        if me in mentions or ('@everyone' in mentions and not suppress_everyone):
            hits.append(seq)
    return {'count': len(hits), 'jump': hits[0] if hits else None}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('suppressed everyone', ([[6, 'bo', ['@everyone']], [7, 'bo', ['me']], [8, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 7}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[10, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 2, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 2: [('suppressed everyone', ([[7, 'bo', ['@everyone']], [8, 'bo', ['me']], [9, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 8}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[11, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 3, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 3: [('suppressed everyone', ([[8, 'bo', ['@everyone']], [9, 'bo', ['me']], [10, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 9}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[12, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 4, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 4: [('suppressed everyone', ([[9, 'bo', ['@everyone']], [10, 'bo', ['me']], [11, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 10}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[13, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 5, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 5: [('suppressed everyone', ([[10, 'bo', ['@everyone']], [11, 'bo', ['me']], [12, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 11}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[14, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 6, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})]}
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
suppressed everyone{'count': 1, 'jump': 7}{'count': 1, 'jump': 7}Passed
own everyone ping{'count': 1, 'jump': 3}{'count': 0, 'jump': None}Failed
out of order arrival{'count': 2, 'jump': 4}{'count': 2, 'jump': 4}Passed
everyone allowed{'count': 1, 'jump': 2}{'count': 1, 'jump': 2}Passed
already read{'count': 0, 'jump': None}{'count': 0, 'jump': None}Passed
direct mention when suppressed{'count': 1, 'jump': 7}{'count': 1, 'jump': 7}Passed

SHA-256 / 5fa21ab31545ea0bbf838eb4a6cca2b7e0d499d403a50b2b77287680db42d901

3 / The verified repair

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

N = 1
observations = []
def solve(messages, me, marker, suppress_everyone):
    hits = []
    for seq, author, mentions in sorted(messages):
        if seq <= marker or author == me:
            continue
        if me in mentions or ('@everyone' in mentions and not suppress_everyone):
            hits.append(seq)
    return {'count': len(hits), 'jump': hits[0] if hits else None}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('suppressed everyone', ([[6, 'bo', ['@everyone']], [7, 'bo', ['me']], [8, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 7}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[10, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 2, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 2: [('suppressed everyone', ([[7, 'bo', ['@everyone']], [8, 'bo', ['me']], [9, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 8}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[11, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 3, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 3: [('suppressed everyone', ([[8, 'bo', ['@everyone']], [9, 'bo', ['me']], [10, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 9}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[12, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 4, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 4: [('suppressed everyone', ([[9, 'bo', ['@everyone']], [10, 'bo', ['me']], [11, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 10}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[13, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 5, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})], 5: [('suppressed everyone', ([[10, 'bo', ['@everyone']], [11, 'bo', ['me']], [12, 'cy', []]], 'me', 0, True), {'count': 1, 'jump': 11}), ('own everyone ping', ([[3, 'me', ['@everyone']], [4, 'bo', []]], 'me', 1, False), {'count': 0, 'jump': None}), ('out of order arrival', ([[14, 'bo', ['me']], [4, 'cy', ['me']]], 'me', 2, False), {'count': 2, 'jump': 4}), ('everyone allowed', ([[2, 'bo', ['@everyone']]], 'me', 1, False), {'count': 1, 'jump': 2}), ('already read', ([[1, 'bo', ['me']]], 'me', 6, False), {'count': 0, 'jump': None}), ('direct mention when suppressed', ([[7, 'bo', ['me', '@everyone']]], 'me', 3, True), {'count': 1, 'jump': 7})]}
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
suppressed everyone{'count': 1, 'jump': 7}{'count': 1, 'jump': 7}Passed
own everyone ping{'count': 0, 'jump': None}{'count': 0, 'jump': None}Passed
out of order arrival{'count': 2, 'jump': 4}{'count': 2, 'jump': 4}Passed
everyone allowed{'count': 1, 'jump': 2}{'count': 1, 'jump': 2}Passed
already read{'count': 0, 'jump': None}{'count': 0, 'jump': None}Passed
direct mention when suppressed{'count': 1, 'jump': 7}{'count': 1, 'jump': 7}Passed

SHA-256 / 05898edad4f04038204b15f9b83d2b685a0a2dc642a8f3cb5199b28273501ec8

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

Case digest / e6d9a94e555d172ed35e4fac1fc1eb852dd67ae6649a33d88bad3ad9e2fe047d