FAILURE MAP
← Case archive

FA-41886 / Listener lifecycle / Open access

An unmatched resume is treated as a state-changing action · case 01

An unmatched resume is treated as a state-changing action; the returned lifecycle plan violates the stated transition contract.

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

ROOT CAUSE

The redundant_resume decision in the pause-resume listener model is computed as False, losing a required lifecycle condition.

VERIFIED REPAIR

Compute the redundant_resume decision from the complete contract: s['resume'] and s['pauses']==0.

Unsuccessful approach: The partial repair uses s['resume'] and s['pauses']<=1; a retained regression distinguishes it from the full transition.

Case contract

Plan pausing/resuming a subscription. A nested pause counter never underflows. While paused, buffer only if buffering was requested; otherwise count the dropped events. Resume drains in arrival order only when the last pause ends. A closed subscription neither buffers nor resumes. Overflow retains the newest bounded suffix. Inputs are finite state snapshots, including transitional and stale states; output fields are the exact independent actions/metadata defined by the corrected expression table. Numeric fixture capacities and counts vary with N. Field definitions, each independently computed from the input snapshot: depth = max(0,s['pauses']+int(s['pause'])-int(s['resume'])); hold = s['pauses']>0 and s['buffer'] and not s['closed'] and s['incoming'] is not None; resume = s['resume'] and s['pauses']==1 and not s['closed']; drain = list(s['queued']) if s['resume'] and s['pauses']==1 and not s['closed'] and not s['drained'] else []; drops = s['drops']+int(s['pauses']>0 and not s['buffer'] and s['incoming'] is not None); retain = s['queued'][-s['capacity']:] if s['capacity']>0 and not s['closed'] else []; deliver = s['pauses']==0 and not s['closed'] and s['incoming'] is not None; clear = s['closed'] or (s['resume'] and s['pauses']==1 and not s['drained']); overflow = max(0,len(s['queued'])+int(s['incoming'] is not None)-s['capacity']); redundant_resume = s['resume'] and s['pauses']==0

Why this case matters

Observer implementations need to preserve this state while subscriptions enter, execute, and leave their lifecycle.

1 / The failure

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

N = 1
observations = []
def solve(s):
    return {
        'depth': max(0,s['pauses']+int(s['pause'])-int(s['resume'])),
        'hold': s['pauses']>0 and s['buffer'] and not s['closed'] and s['incoming'] is not None,
        'resume': s['resume'] and s['pauses']==1 and not s['closed'],
        'drain': list(s['queued']) if s['resume'] and s['pauses']==1 and not s['closed'] and not s['drained'] else [],
        'drops': s['drops']+int(s['pauses']>0 and not s['buffer'] and s['incoming'] is not None),
        'retain': s['queued'][-s['capacity']:] if s['capacity']>0 and not s['closed'] else [],
        'deliver': s['pauses']==0 and not s['closed'] and s['incoming'] is not None,
        'clear': s['closed'] or (s['resume'] and s['pauses']==1 and not s['drained']),
        'overflow': max(0,len(s['queued'])+int(s['incoming'] is not None)-s['capacity']),
        'redundant_resume': False,
    }
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 3, 'drops': 2, 'drained': False}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 3, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': 'new', 'capacity': 1, 'drops': 2, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 0, 'drops': 2, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 3, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 0, 'drops': 2, 'drained': False}, {'depth': 3, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 3, 'drops': 2, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': True}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 3, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 3, 'drops': 2, 'drained': True}, {'depth': 3, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False})], 2: [({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 6, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 0, 'drops': 4, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 4, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': True}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 6, 'drops': 4, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 4, 'retain': ['a', 'b', 'c'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': True, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 1, 'drops': 4, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 6, 'pause': False, 'resume': False, 'closed': False, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': ['a'], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 6, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 6, 'drops': 4, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 3: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 0, 'drops': 6, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 9, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 8, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 9, 'drops': 6, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': True}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 1, 'drops': 6, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 6, 'retain': ['c'], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 9, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 0, 'drops': 6, 'drained': False}, {'depth': 9, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': True, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 9, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 9, 'drops': 6, 'drained': True}, {'depth': 9, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 4: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 12, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 11, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 8, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a'], 'incoming': None, 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': ['a'], 'drops': 0, 'retain': ['a'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 12, 'drops': 0, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 0, 'retain': ['a', 'b', 'c'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': False, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 8, 'drained': False}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 12, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 12, 'drops': 8, 'drained': True}, {'depth': 12, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 5: [({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 15, 'pause': False, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 1, 'drops': 10, 'drained': False}, {'depth': 14, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': False, 'queued': [], 'incoming': 'new', 'capacity': 0, 'drops': 10, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': [], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': False, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 10, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 11, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': False, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 15, 'drops': 10, 'drained': True}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 15, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 15, 'drops': 10, 'drained': True}, {'depth': 15, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})]}
for i,(state,expected) in enumerate(fixtures[N]):
    check("transition "+str(i), solve(state), 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
transition 0{'clear': True, 'deliver': False, 'depth': 1, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 1, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}Passed
transition 1{'clear': False, 'deliver': False, 'depth': 2, 'drain': [], 'drops': 1, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': ['c']}{'clear': False, 'deliver': False, 'depth': 2, 'drain': [], 'drops': 1, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': ['c']}Passed
transition 2{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': True, 'resume': False, 'retain': []}Failed
transition 3{'clear': True, 'deliver': False, 'depth': 0, 'drain': ['a', 'b', 'c'], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': True, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': ['a', 'b', 'c'], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': True, 'retain': []}Passed
transition 4{'clear': False, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': False, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': []}Passed
transition 5{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 0, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 0, 'redundant_resume': True, 'resume': False, 'retain': []}Failed
transition 6{'clear': False, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 0, 'hold': False, 'overflow': 0, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': False, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 0, 'hold': False, 'overflow': 0, 'redundant_resume': False, 'resume': False, 'retain': []}Passed
transition 7{'clear': True, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}Passed

SHA-256 / a7ec4119061bb72d19b4add6ba4620f13ce1339d0945e7b307bca588a362cb53

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(s):
    return {
        'depth': max(0,s['pauses']+int(s['pause'])-int(s['resume'])),
        'hold': s['pauses']>0 and s['buffer'] and not s['closed'] and s['incoming'] is not None,
        'resume': s['resume'] and s['pauses']==1 and not s['closed'],
        'drain': list(s['queued']) if s['resume'] and s['pauses']==1 and not s['closed'] and not s['drained'] else [],
        'drops': s['drops']+int(s['pauses']>0 and not s['buffer'] and s['incoming'] is not None),
        'retain': s['queued'][-s['capacity']:] if s['capacity']>0 and not s['closed'] else [],
        'deliver': s['pauses']==0 and not s['closed'] and s['incoming'] is not None,
        'clear': s['closed'] or (s['resume'] and s['pauses']==1 and not s['drained']),
        'overflow': max(0,len(s['queued'])+int(s['incoming'] is not None)-s['capacity']),
        'redundant_resume': s['resume'] and s['pauses']<=1,
    }
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 3, 'drops': 2, 'drained': False}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 3, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': 'new', 'capacity': 1, 'drops': 2, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 0, 'drops': 2, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 3, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 0, 'drops': 2, 'drained': False}, {'depth': 3, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 3, 'drops': 2, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': True}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 3, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 3, 'drops': 2, 'drained': True}, {'depth': 3, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False})], 2: [({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 6, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 0, 'drops': 4, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 4, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': True}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 6, 'drops': 4, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 4, 'retain': ['a', 'b', 'c'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': True, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 1, 'drops': 4, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 6, 'pause': False, 'resume': False, 'closed': False, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': ['a'], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 6, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 6, 'drops': 4, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 3: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 0, 'drops': 6, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 9, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 8, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 9, 'drops': 6, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': True}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 1, 'drops': 6, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 6, 'retain': ['c'], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 9, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 0, 'drops': 6, 'drained': False}, {'depth': 9, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': True, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 9, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 9, 'drops': 6, 'drained': True}, {'depth': 9, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 4: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 12, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 11, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 8, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a'], 'incoming': None, 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': ['a'], 'drops': 0, 'retain': ['a'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 12, 'drops': 0, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 0, 'retain': ['a', 'b', 'c'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': False, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 8, 'drained': False}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 12, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 12, 'drops': 8, 'drained': True}, {'depth': 12, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 5: [({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 15, 'pause': False, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 1, 'drops': 10, 'drained': False}, {'depth': 14, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': False, 'queued': [], 'incoming': 'new', 'capacity': 0, 'drops': 10, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': [], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': False, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 10, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 11, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': False, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 15, 'drops': 10, 'drained': True}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 15, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 15, 'drops': 10, 'drained': True}, {'depth': 15, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})]}
for i,(state,expected) in enumerate(fixtures[N]):
    check("transition "+str(i), solve(state), 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
transition 0{'clear': True, 'deliver': False, 'depth': 1, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': True, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 1, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}Failed
transition 1{'clear': False, 'deliver': False, 'depth': 2, 'drain': [], 'drops': 1, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': ['c']}{'clear': False, 'deliver': False, 'depth': 2, 'drain': [], 'drops': 1, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': ['c']}Passed
transition 2{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': True, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': True, 'resume': False, 'retain': []}Passed
transition 3{'clear': True, 'deliver': False, 'depth': 0, 'drain': ['a', 'b', 'c'], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': True, 'resume': True, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': ['a', 'b', 'c'], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': True, 'retain': []}Failed
transition 4{'clear': False, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': False, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': []}Passed
transition 5{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 0, 'redundant_resume': True, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 0, 'redundant_resume': True, 'resume': False, 'retain': []}Passed
transition 6{'clear': False, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 0, 'hold': False, 'overflow': 0, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': False, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 0, 'hold': False, 'overflow': 0, 'redundant_resume': False, 'resume': False, 'retain': []}Passed
transition 7{'clear': True, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}Passed

SHA-256 / b141ef49ed00755211671880e8d45e66c870dd35d24d31aee9b2be2cd82c728d

3 / The verified repair

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

N = 1
observations = []
def solve(s):
    return {
        'depth': max(0,s['pauses']+int(s['pause'])-int(s['resume'])),
        'hold': s['pauses']>0 and s['buffer'] and not s['closed'] and s['incoming'] is not None,
        'resume': s['resume'] and s['pauses']==1 and not s['closed'],
        'drain': list(s['queued']) if s['resume'] and s['pauses']==1 and not s['closed'] and not s['drained'] else [],
        'drops': s['drops']+int(s['pauses']>0 and not s['buffer'] and s['incoming'] is not None),
        'retain': s['queued'][-s['capacity']:] if s['capacity']>0 and not s['closed'] else [],
        'deliver': s['pauses']==0 and not s['closed'] and s['incoming'] is not None,
        'clear': s['closed'] or (s['resume'] and s['pauses']==1 and not s['drained']),
        'overflow': max(0,len(s['queued'])+int(s['incoming'] is not None)-s['capacity']),
        'redundant_resume': s['resume'] and s['pauses']==0,
    }
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 3, 'drops': 2, 'drained': False}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 3, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': 'new', 'capacity': 1, 'drops': 2, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 0, 'drops': 2, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 3, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 0, 'drops': 2, 'drained': False}, {'depth': 3, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 3, 'drops': 2, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': True}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 3, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 3, 'drops': 2, 'drained': True}, {'depth': 3, 'hold': False, 'resume': False, 'drain': [], 'drops': 2, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False})], 2: [({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 6, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 0, 'drops': 4, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 4, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': True}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 6, 'drops': 4, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 4, 'retain': ['a', 'b', 'c'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': True, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 1, 'drops': 4, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 6, 'pause': False, 'resume': False, 'closed': False, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': ['a'], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 6, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 6, 'drops': 4, 'drained': True}, {'depth': 6, 'hold': False, 'resume': False, 'drain': [], 'drops': 4, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 3: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': None, 'capacity': 0, 'drops': 6, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 9, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 8, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 9, 'drops': 6, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': True}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 1, 'drops': 6, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 6, 'retain': ['c'], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 9, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 0, 'drops': 6, 'drained': False}, {'depth': 9, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': True, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 9, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 9, 'drops': 6, 'drained': True}, {'depth': 9, 'hold': False, 'resume': False, 'drain': [], 'drops': 6, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 4: [({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 12, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 11, 'hold': False, 'resume': False, 'drain': [], 'drops': 1, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 3, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 1, 'drops': 8, 'drained': True}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 3, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a'], 'incoming': None, 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': ['a'], 'drops': 0, 'retain': ['a'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 12, 'drops': 0, 'drained': False}, {'depth': 1, 'hold': False, 'resume': True, 'drain': ['a', 'b', 'c'], 'drops': 0, 'retain': ['a', 'b', 'c'], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': False, 'closed': True, 'buffer': True, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 8, 'drained': False}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 12, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 12, 'drops': 8, 'drained': True}, {'depth': 12, 'hold': False, 'resume': False, 'drain': [], 'drops': 8, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})], 5: [({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 0, 'drained': True}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 15, 'pause': False, 'resume': True, 'closed': False, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': None, 'capacity': 1, 'drops': 10, 'drained': False}, {'depth': 14, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': ['c'], 'deliver': False, 'clear': False, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': True, 'closed': True, 'buffer': False, 'queued': [], 'incoming': 'new', 'capacity': 0, 'drops': 10, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 1, 'redundant_resume': True}), ({'pauses': 1, 'pause': False, 'resume': True, 'closed': False, 'buffer': False, 'queued': [], 'incoming': 'new', 'capacity': 1, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': True, 'drain': [], 'drops': 1, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': True, 'closed': True, 'buffer': False, 'queued': ['a'], 'incoming': 'new', 'capacity': 0, 'drops': 10, 'drained': True}, {'depth': 1, 'hold': False, 'resume': False, 'drain': [], 'drops': 11, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 2, 'redundant_resume': False}), ({'pauses': 1, 'pause': True, 'resume': False, 'closed': True, 'buffer': True, 'queued': [], 'incoming': 'new', 'capacity': 15, 'drops': 10, 'drained': True}, {'depth': 2, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 0, 'pause': False, 'resume': False, 'closed': False, 'buffer': False, 'queued': [], 'incoming': None, 'capacity': 0, 'drops': 0, 'drained': False}, {'depth': 0, 'hold': False, 'resume': False, 'drain': [], 'drops': 0, 'retain': [], 'deliver': False, 'clear': False, 'overflow': 0, 'redundant_resume': False}), ({'pauses': 15, 'pause': True, 'resume': True, 'closed': True, 'buffer': True, 'queued': ['a', 'b', 'c'], 'incoming': 'new', 'capacity': 15, 'drops': 10, 'drained': True}, {'depth': 15, 'hold': False, 'resume': False, 'drain': [], 'drops': 10, 'retain': [], 'deliver': False, 'clear': True, 'overflow': 0, 'redundant_resume': False})]}
for i,(state,expected) in enumerate(fixtures[N]):
    check("transition "+str(i), solve(state), 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
transition 0{'clear': True, 'deliver': False, 'depth': 1, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 1, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}Passed
transition 1{'clear': False, 'deliver': False, 'depth': 2, 'drain': [], 'drops': 1, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': ['c']}{'clear': False, 'deliver': False, 'depth': 2, 'drain': [], 'drops': 1, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': ['c']}Passed
transition 2{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': True, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': True, 'resume': False, 'retain': []}Passed
transition 3{'clear': True, 'deliver': False, 'depth': 0, 'drain': ['a', 'b', 'c'], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': True, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': ['a', 'b', 'c'], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': True, 'retain': []}Passed
transition 4{'clear': False, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': False, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 3, 'redundant_resume': False, 'resume': False, 'retain': []}Passed
transition 5{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 0, 'redundant_resume': True, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 0, 'redundant_resume': True, 'resume': False, 'retain': []}Passed
transition 6{'clear': False, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 0, 'hold': False, 'overflow': 0, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': False, 'deliver': False, 'depth': 0, 'drain': [], 'drops': 0, 'hold': False, 'overflow': 0, 'redundant_resume': False, 'resume': False, 'retain': []}Passed
transition 7{'clear': True, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}{'clear': True, 'deliver': False, 'depth': 3, 'drain': [], 'drops': 2, 'hold': False, 'overflow': 1, 'redundant_resume': False, 'resume': False, 'retain': []}Passed

SHA-256 / 8c1af85750611a38d4d0af45b726ecd59242915a976d4445640b8a4baeb80be2

Verification & scope

A deterministic, bounded, single-threaded transition planner. Returned plans model state changes; they do not implement a production event framework. 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:43:45.885758+00:00.

Case digest / a1ab87196201fa2bffa411b8d17e5ebd2f930b5d7ce169e5f1d81db52c049e89