FAILURE MAP
← Case archive

FA-24761 / Client state / Open access

Store writes notify a hydrating consumer before its server snapshot is released · case 01

Store writes notify a hydrating consumer before its server snapshot is released.

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

ROOT CAUSE

The faulty implementation violates Before hydration release a consumer queues store snapshots; release delivers only the latest held snapshot, and subsequent writes deliver in order. Repeated release is idempotent.

VERIFIED REPAIR

Before hydration release a consumer queues store snapshots; release delivers only the latest held snapshot, and subsequent writes deliver in order. Repeated release is idempotent.

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

Case contract

Before hydration release a consumer queues store snapshots; release delivers only the latest held snapshot, and subsequent writes deliver in order. Repeated release is idempotent.

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(events):
    return [v for kind,v in events if kind=='write'],[]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('coalesce prehydrate writes', solve([('write',1),('write',2),('hydrate',None)]), ([2],[]))
check('still hydrating', solve([('write',N)]), ([],[N]))
check('writes after release', solve([('hydrate',None),('write',N)]), ([N],[]))
check('no writes', solve([('hydrate',None)]), ([],[]))
check('repeat hydration no duplicate', solve([('write',0),('hydrate',None),('hydrate',None)]), ([0],[]))
check('posthydrate ordering', solve([('write',1),('write',2),('hydrate',None),('write',3)]), ([2,3],[]))
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
coalesce prehydrate writes[[1, 2], []][[2], []]Failed
still hydrating[[1], []][[], [1]]Failed
writes after release[[1], []][[1], []]Passed
no writes[[], []][[], []]Passed
repeat hydration no duplicate[[0], []][[0], []]Passed
posthydrate ordering[[1, 2, 3], []][[2, 3], []]Failed

SHA-256 / 6fffa81bffff130c408c86353cda7f5d4a64a93f8629f195dba28fcf653aebaa

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(events):
    hydrating=True; held=[]; delivered=[]
    for kind,value in events:
        if kind=='write':
            if hydrating: held.append(value)
            else: delivered.append(value)
        elif kind=='hydrate':
            hydrating=False; delivered+=held; held=[]
    return delivered,held
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('coalesce prehydrate writes', solve([('write',1),('write',2),('hydrate',None)]), ([2],[]))
check('still hydrating', solve([('write',N)]), ([],[N]))
check('writes after release', solve([('hydrate',None),('write',N)]), ([N],[]))
check('no writes', solve([('hydrate',None)]), ([],[]))
check('repeat hydration no duplicate', solve([('write',0),('hydrate',None),('hydrate',None)]), ([0],[]))
check('posthydrate ordering', solve([('write',1),('write',2),('hydrate',None),('write',3)]), ([2,3],[]))
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
coalesce prehydrate writes[[1, 2], []][[2], []]Failed
still hydrating[[], [1]][[], [1]]Passed
writes after release[[1], []][[1], []]Passed
no writes[[], []][[], []]Passed
repeat hydration no duplicate[[0], []][[0], []]Passed
posthydrate ordering[[1, 2, 3], []][[2, 3], []]Failed

SHA-256 / 5c91de4458392667c54a4489bb4b8598b0722ef53efc63ce8a1941c6f41070ba

3 / The verified repair

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

N = 1
observations = []
def solve(events):
    hydrating=True; held=[]; delivered=[]
    for kind,value in events:
        if kind=='write':
            if hydrating: held.append(value)
            else: delivered.append(value)
        elif kind=='hydrate':
            hydrating=False
            if held: delivered.append(held[-1]); held=[]
    return delivered,held
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('coalesce prehydrate writes', solve([('write',1),('write',2),('hydrate',None)]), ([2],[]))
check('still hydrating', solve([('write',N)]), ([],[N]))
check('writes after release', solve([('hydrate',None),('write',N)]), ([N],[]))
check('no writes', solve([('hydrate',None)]), ([],[]))
check('repeat hydration no duplicate', solve([('write',0),('hydrate',None),('hydrate',None)]), ([0],[]))
check('posthydrate ordering', solve([('write',1),('write',2),('hydrate',None),('write',3)]), ([2,3],[]))
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
coalesce prehydrate writes[[2], []][[2], []]Passed
still hydrating[[], [1]][[], [1]]Passed
writes after release[[1], []][[1], []]Passed
no writes[[], []][[], []]Passed
repeat hydration no duplicate[[0], []][[0], []]Passed
posthydrate ordering[[2, 3], []][[2, 3], []]Passed

SHA-256 / f72feae216b1f5fd566e7f57e53c0ef3f1124f1f3d334aae18dcd623843f3314

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

Case digest / b48776a964eef380333ed57c7285b6d0d43af0c2ced7ec777731da2fd8e47904