FA-24796 / Client state / Open access
Autosave coalescing drops a field edit made while its preceding value is in flight · case 01
Autosave coalescing drops a field edit made while its preceding value is in flight.
ROOT CAUSE
The faulty implementation violates While one autosave is in flight, coalesce newer edits to each field latest value, preserve first-edit field order, and remove a queued field only if its latest type/value equals the in-flight snapshot.
VERIFIED REPAIR
While one autosave is in flight, coalesce newer edits to each field latest value, preserve first-edit field order, and remove a queued field only if its latest type/value equals the in-flight snapshot.
Unsuccessful approach: The partial repair still violates at least one explicit regression oracle.
Case contract
While one autosave is in flight, coalesce newer edits to each field latest value, preserve first-edit field order, and remove a queued field only if its latest type/value equals the in-flight snapshot.
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(inflight, edits):
return [(field,value) for field,value in edits if field not in inflight]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('edited same field', solve({'a':1},[('a',2)]), [('a',2)])
check('coalesce same field', solve({},[('a',1),('a',N+2)]), [('a',N+2)])
check('returned to inflight value', solve({'a':1},[('a',2),('a',1)]), [])
check('new null', solve({},[('a',None)]), [('a',None)])
check('type distinction', solve({'a':False},[('a',0)]), [('a',0)])
check('stable first-edit field order', solve({},[('b',1),('a',2),('b',3)]), [('b',3),('a',2)])
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 |
|---|---|---|---|
| edited same field | [] | [['a', 2]] | Failed |
| coalesce same field | [['a', 1], ['a', 3]] | [['a', 3]] | Failed |
| returned to inflight value | [] | [] | Passed |
| new null | [['a', None]] | [['a', None]] | Passed |
| type distinction | [] | [['a', 0]] | Failed |
| stable first-edit field order | [['b', 1], ['a', 2], ['b', 3]] | [['b', 3], ['a', 2]] | Failed |
SHA-256 / a2d9d80a514220884971bab19a4f9363f9ee64502cfdd3ba956a1f242b354b69
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(inflight, edits):
return [(field,value) for field,value in edits if inflight.get(field)!=value]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('edited same field', solve({'a':1},[('a',2)]), [('a',2)])
check('coalesce same field', solve({},[('a',1),('a',N+2)]), [('a',N+2)])
check('returned to inflight value', solve({'a':1},[('a',2),('a',1)]), [])
check('new null', solve({},[('a',None)]), [('a',None)])
check('type distinction', solve({'a':False},[('a',0)]), [('a',0)])
check('stable first-edit field order', solve({},[('b',1),('a',2),('b',3)]), [('b',3),('a',2)])
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 |
|---|---|---|---|
| edited same field | [['a', 2]] | [['a', 2]] | Passed |
| coalesce same field | [['a', 1], ['a', 3]] | [['a', 3]] | Failed |
| returned to inflight value | [['a', 2]] | [] | Failed |
| new null | [] | [['a', None]] | Failed |
| type distinction | [] | [['a', 0]] | Failed |
| stable first-edit field order | [['b', 1], ['a', 2], ['b', 3]] | [['b', 3], ['a', 2]] | Failed |
SHA-256 / decdb4f682748979de5c13df0c6280ea6a6fbb2e6acd9ab08848c99592b6185c
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(inflight, edits):
latest={}
for field,value in edits: latest[field]=value
return [(field,value) for field,value in latest.items() if field not in inflight or type(inflight[field])!=type(value) or inflight[field]!=value]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('edited same field', solve({'a':1},[('a',2)]), [('a',2)])
check('coalesce same field', solve({},[('a',1),('a',N+2)]), [('a',N+2)])
check('returned to inflight value', solve({'a':1},[('a',2),('a',1)]), [])
check('new null', solve({},[('a',None)]), [('a',None)])
check('type distinction', solve({'a':False},[('a',0)]), [('a',0)])
check('stable first-edit field order', solve({},[('b',1),('a',2),('b',3)]), [('b',3),('a',2)])
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 |
|---|---|---|---|
| edited same field | [['a', 2]] | [['a', 2]] | Passed |
| coalesce same field | [['a', 3]] | [['a', 3]] | Passed |
| returned to inflight value | [] | [] | Passed |
| new null | [['a', None]] | [['a', None]] | Passed |
| type distinction | [['a', 0]] | [['a', 0]] | Passed |
| stable first-edit field order | [['b', 3], ['a', 2]] | [['b', 3], ['a', 2]] | Passed |
SHA-256 / 9598b2ac1fb20e376607bbec0084d3df91313fb6fb43987092b7a6a89b601c7c
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.734157+00:00.
Case digest / 0779f410ad60963985afea63dba0f4f9894b16263665ac1bcaf51664698a856c