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.
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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