FAILURE MAP
← Case archive

FA-11821 / Document structure integrity / Open access

Deleted runs leak into the accepted revision view · case 01

Deleted runs leak into the accepted revision view in the controlled document model.

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

ROOT CAUSE

Visible content is assembled without interpreting revision run kinds.

VERIFIED REPAIR

Choose included revision kinds according to the requested revision decision.

Unsuccessful approach: Always accepting revisions gives the wrong document when rejecting them.

Case contract

Runs have kind plain, insert, or delete. Accept includes plain and insert; reject includes plain and delete, preserving order.

Why this case matters

Structured editing must preserve document semantics independently of visual rendering.

1 / The failure

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

N = 1
observations = []
def solve(runs, accept):
    return ''.join(text for kind,text in runs)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [(( [('plain','a'),('delete','d'*N),('insert','i')],True),'ai'), (([('plain','a'),('delete','d'*N),('insert','i')],False),'a'+'d'*N), (([],True),''), (([('insert','x')],False),''), (([('delete','x')],True),''), (([('plain','x')],False),'x')]
for i, (args, expected) in enumerate(fixtures):
    check("document fixture " + str(i), solve(*args), expected)
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
document fixture 0adiaiFailed
document fixture 1adiadFailed
document fixture 2Passed
document fixture 3xFailed
document fixture 4xFailed
document fixture 5xxPassed

SHA-256 / cc48470769a154783ff3f04719a85cc0ac380b720c529fffc12b22873d26839e

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(runs, accept):
    return ''.join(text for kind,text in runs if kind!='delete')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [(( [('plain','a'),('delete','d'*N),('insert','i')],True),'ai'), (([('plain','a'),('delete','d'*N),('insert','i')],False),'a'+'d'*N), (([],True),''), (([('insert','x')],False),''), (([('delete','x')],True),''), (([('plain','x')],False),'x')]
for i, (args, expected) in enumerate(fixtures):
    check("document fixture " + str(i), solve(*args), expected)
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
document fixture 0aiaiPassed
document fixture 1aiadFailed
document fixture 2Passed
document fixture 3xFailed
document fixture 4Passed
document fixture 5xxPassed

SHA-256 / 61ff642ef6deadd8f4f78f5768581666631dfdd6ba39148107ab326899d5e922

3 / The verified repair

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

N = 1
observations = []
def solve(runs, accept):
    return ''.join(text for kind,text in runs if kind=='plain' or kind==('insert' if accept else 'delete'))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [(( [('plain','a'),('delete','d'*N),('insert','i')],True),'ai'), (([('plain','a'),('delete','d'*N),('insert','i')],False),'a'+'d'*N), (([],True),''), (([('insert','x')],False),''), (([('delete','x')],True),''), (([('plain','x')],False),'x')]
for i, (args, expected) in enumerate(fixtures):
    check("document fixture " + str(i), solve(*args), expected)
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
document fixture 0aiaiPassed
document fixture 1adadPassed
document fixture 2Passed
document fixture 3Passed
document fixture 4Passed
document fixture 5xxPassed

SHA-256 / d04ffcca769a9387db045424e70cab19821ef96f0ebbb13d9cfead9c57cce9b0

Verification & scope

An offline simplified document model, not a claim of conformance to any office file format. 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:51.217567+00:00.

Case digest / 7b59f5910faa6991a1064bd7f31f068a0bb688193924ffc335af2e7eaa87936d