FAILURE MAP
← Case archive

FA-24771 / Client state / Open access

Skipping deferred updates changes the order of a later urgent replay · case 01

Skipping deferred updates changes the order of a later urgent replay.

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

ROOT CAUSE

The faulty implementation violates A client render pass applies only eligible priority updates in original order, skips ineligible updates without blocking later urgent work, and retains every skipped update for later replay.

VERIFIED REPAIR

A client render pass applies only eligible priority updates in original order, skips ineligible updates without blocking later urgent work, and retains every skipped update for later replay.

Unsuccessful approach: The partial repair still violates at least one explicit regression oracle.

Case contract

A client render pass applies only eligible priority updates in original order, skips ineligible updates without blocking later urgent work, and retains every skipped update for later replay.

Why this case matters

A bounded offline client-state transition with explicit lifecycle inputs.

1 / The failure

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

N = 1
observations = []
def solve(updates, allowed, initial):
    value=initial
    for kind,operation,argument in updates:
        if operation=='set': value=argument
        else: value+=argument
    return value,[]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('urgent after deferred', solve([('deferred','set',10),('urgent','add',N)],['urgent'],1), (N+1,[('deferred','set',10)]))
check('urgent set after add', solve([('urgent','add',2),('urgent','set',3)],['urgent'],1), (3,[]))
check('all lanes', solve([('deferred','set',10),('urgent','add',N)],['urgent','deferred'],1), (10+N,[]))
check('none allowed', solve([('urgent','add',2),('deferred','set',3)],[],1), (1,[('urgent','add',2),('deferred','set',3)]))
check('no updates', solve([],['urgent'],N), (N,[]))
check('zero replace', solve([('urgent','set',0),('urgent','add',1)],['urgent'],9), (1,[]))
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
urgent after deferred[11, []][2, [['deferred', 'set', 10]]]Failed
urgent set after add[3, []][3, []]Passed
all lanes[11, []][11, []]Passed
none allowed[3, []][1, [['urgent', 'add', 2], ['deferred', 'set', 3]]]Failed
no updates[1, []][1, []]Passed
zero replace[1, []][1, []]Passed

SHA-256 / d8d0e6df0918f77e2b6c9bf541c3ec8d65e99db30411d05105a7ab6fd47e8ea6

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(updates, allowed, initial):
    value=initial; skipped=[]
    for kind,operation,argument in updates:
        if kind not in allowed: skipped.append((kind,operation,argument)); break
        if operation=='set': value=argument
        else: value+=argument
    return value,skipped
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('urgent after deferred', solve([('deferred','set',10),('urgent','add',N)],['urgent'],1), (N+1,[('deferred','set',10)]))
check('urgent set after add', solve([('urgent','add',2),('urgent','set',3)],['urgent'],1), (3,[]))
check('all lanes', solve([('deferred','set',10),('urgent','add',N)],['urgent','deferred'],1), (10+N,[]))
check('none allowed', solve([('urgent','add',2),('deferred','set',3)],[],1), (1,[('urgent','add',2),('deferred','set',3)]))
check('no updates', solve([],['urgent'],N), (N,[]))
check('zero replace', solve([('urgent','set',0),('urgent','add',1)],['urgent'],9), (1,[]))
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
urgent after deferred[1, [['deferred', 'set', 10]]][2, [['deferred', 'set', 10]]]Failed
urgent set after add[3, []][3, []]Passed
all lanes[11, []][11, []]Passed
none allowed[1, [['urgent', 'add', 2]]][1, [['urgent', 'add', 2], ['deferred', 'set', 3]]]Failed
no updates[1, []][1, []]Passed
zero replace[1, []][1, []]Passed

SHA-256 / 9e46b26bb276fa779f9b6de1aff275011ce06cd330d103884c041cc24f9b405f

3 / The verified repair

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

N = 1
observations = []
def solve(updates, allowed, initial):
    value=initial; skipped=[]
    for kind,operation,argument in updates:
        if kind not in allowed: skipped.append((kind,operation,argument)); continue
        if operation=='set': value=argument
        elif operation=='add': value+=argument
    return value,skipped
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('urgent after deferred', solve([('deferred','set',10),('urgent','add',N)],['urgent'],1), (N+1,[('deferred','set',10)]))
check('urgent set after add', solve([('urgent','add',2),('urgent','set',3)],['urgent'],1), (3,[]))
check('all lanes', solve([('deferred','set',10),('urgent','add',N)],['urgent','deferred'],1), (10+N,[]))
check('none allowed', solve([('urgent','add',2),('deferred','set',3)],[],1), (1,[('urgent','add',2),('deferred','set',3)]))
check('no updates', solve([],['urgent'],N), (N,[]))
check('zero replace', solve([('urgent','set',0),('urgent','add',1)],['urgent'],9), (1,[]))
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
urgent after deferred[2, [['deferred', 'set', 10]]][2, [['deferred', 'set', 10]]]Passed
urgent set after add[3, []][3, []]Passed
all lanes[11, []][11, []]Passed
none allowed[1, [['urgent', 'add', 2], ['deferred', 'set', 3]]][1, [['urgent', 'add', 2], ['deferred', 'set', 3]]]Passed
no updates[1, []][1, []]Passed
zero replace[1, []][1, []]Passed

SHA-256 / 0d4fffe13ce7f4bfe1ad0de10367100ccacc7c188ad428a3b2c323b86f47af4d

Verification & scope

This models the stated application policy only; no browser or framework conformance is claimed. 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:41:00.575255+00:00.

Case digest / f5cc2dc21491be4bfac7340fa4a8e089882082a38f02e19bb59853146c36e696