FAILURE MAP
← Case archive

FA-10441 / Caching / Open access

A failed flush marks its cache entry clean · case 01

A failed flush marks its cache entry clean.

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

ROOT CAUSE

Dirty state is cleared at writeback attempt rather than successful completion.

VERIFIED REPAIR

Preserve the cache-state invariant: Entry is [key,value,dirty]. Successful flush clears dirty; failed flush preserves prior dirty state and never changes key/value.

Unsuccessful approach: Making every failed flush dirty invents pending writes on clean entries.

Case contract

Entry is [key,value,dirty]. Successful flush clears dirty; failed flush preserves prior dirty state and never changes key/value.

Why this case matters

A deterministic cache state transformation. Inputs are copied or treated as immutable; no remote storage, real clock, or concurrent interleaving is simulated.

1 / The failure

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

N = 1
observations = []
def solve(entry, success):
    return [entry[0],entry[1],False]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve(*(['a', 3, True], False)), ['a', 3, True])
check('fixture 2', solve(*(['a', 3, True], True)), ['a', 3, False])
check('fixture 3', solve(*(['a', 3, False], False)), ['a', 3, False])
check('fixture 4', solve(*(['a', None, False], True)), ['a', None, False])
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
fixture 1['a', 3, False]['a', 3, True]Failed
fixture 2['a', 3, False]['a', 3, False]Passed
fixture 3['a', 3, False]['a', 3, False]Passed
fixture 4['a', None, False]['a', None, False]Passed

SHA-256 / 4e5146af508d594a6be4871dcf4fab06f183bee4a85fea34ad1cdb3fe6bdb993

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(entry, success):
    return [entry[0],entry[1],not success]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve(*(['a', 3, True], False)), ['a', 3, True])
check('fixture 2', solve(*(['a', 3, True], True)), ['a', 3, False])
check('fixture 3', solve(*(['a', 3, False], False)), ['a', 3, False])
check('fixture 4', solve(*(['a', None, False], True)), ['a', None, False])
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
fixture 1['a', 3, True]['a', 3, True]Passed
fixture 2['a', 3, False]['a', 3, False]Passed
fixture 3['a', 3, True]['a', 3, False]Failed
fixture 4['a', None, False]['a', None, False]Passed

SHA-256 / 8c1079997f716d9ef060c2fb607fe5e51d80d3ed566cd1c1495897954172d1b6

3 / The verified repair

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

N = 1
observations = []
def solve(entry, success):
    return [entry[0],entry[1],entry[2] and not success]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve(*(['a', 3, True], False)), ['a', 3, True])
check('fixture 2', solve(*(['a', 3, True], True)), ['a', 3, False])
check('fixture 3', solve(*(['a', 3, False], False)), ['a', 3, False])
check('fixture 4', solve(*(['a', None, False], True)), ['a', None, False])
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
fixture 1['a', 3, True]['a', 3, True]Passed
fixture 2['a', 3, False]['a', 3, False]Passed
fixture 3['a', 3, False]['a', 3, False]Passed
fixture 4['a', None, False]['a', None, False]Passed

SHA-256 / 3fdb86bf211218154d9691e476d7f7222d3ee4a5a1b46e1a4ff53de381faefd1

Verification & scope

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

Case digest / 6b8fa4738500e0c4a490ac5963f1de5aaee9518747f63912c8b0820315786a68