{"abstract":"Ending a nonexistent observer batch produces negative nesting; the returned lifecycle plan violates the stated transition contract.","category":"Listener lifecycle","checks":8,"contract":"Plan batched observer publication. A batch holds until threshold or explicit flush, publishes at most threshold values, and preserves the unconsumed suffix. Nested batch scopes publish only at depth zero. An exception rolls back only the current batch checkpoint. Empty batches do not notify; a final partial batch publishes only when partial delivery is allowed. Acknowledgement notifications deduplicate pending batch IDs in first-occurrence order and exclude IDs already acknowledged. 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.\nField definitions, each independently computed from the input snapshot: ready = len(s['values'])>=s['threshold']; publish = s['depth']==0 and bool(s['values']) and (len(s['values'])>=s['threshold'] or s['flush'] or (s['final'] and s['partial'])); head = s['values'][:s['threshold']]; tail = s['values'][s['threshold']:]; rollback = s['values'][:s['checkpoint']] if s['error'] else list(s['values']); depth = max(0,s['depth']+int(s['begin'])-int(s['end'])); partial_drop = s['final'] and not s['partial'] and 0<len(s['values'])<s['threshold']; new_checkpoint = len(s['values']) if s['begin'] else s['checkpoint']; unmatched_end = s['end'] and s['depth']==0; empty_flush = list(dict.fromkeys(x for x in s['batch_ids'] if x not in s['acknowledged']))","evaluation_group":"s3-listener-batch-notification","failed_approach":"The partial repair uses int(s['begin']); a retained regression distinguishes it from the full transition.","family":"s3-listener-batch-notification-depth","id":"FA-42216","implementations":{"attempt":{"sha256":"8e9dcb1c0019d58c15bc8f3a4712fe954742f3b013e94e0fbba365b1ca3b0a59","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    return {\n        'ready': len(s['values'])>=s['threshold'],\n        'publish': s['depth']==0 and bool(s['values']) and (len(s['values'])>=s['threshold'] or s['flush'] or (s['final'] and s['partial'])),\n        'head': s['values'][:s['threshold']],\n        'tail': s['values'][s['threshold']:],\n        'rollback': s['values'][:s['checkpoint']] if s['error'] else list(s['values']),\n        'depth': int(s['begin']),\n        'partial_drop': s['final'] and not s['partial'] and 0<len(s['values'])<s['threshold'],\n        'new_checkpoint': len(s['values']) if s['begin'] else s['checkpoint'],\n        'unmatched_end': s['end'] and s['depth']==0,\n        'empty_flush': list(dict.fromkeys(x for x in s['batch_ids'] if x not in s['acknowledged'])),\n    }\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': True, 'depth': 3, 'partial': True, 'final': True, 'error': True, 'checkpoint': 3, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 3, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': [], 'threshold': 4, 'flush': True, 'depth': 0, 'partial': False, 'final': True, 'error': True, 'checkpoint': 3, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': True, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 1, 'partial': True, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a'], 'threshold': 2, 'flush': True, 'depth': 3, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': True, 'depth': 3, 'partial': False, 'final': True, 'error': True, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': [], 'depth': 4, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 4, 'flush': True, 'depth': 3, 'partial': True, 'final': True, 'error': True, 'checkpoint': 3, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 3, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 2: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a', 'b', 'c'], 'threshold': 4, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 1, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': False, 'publish': True, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': True, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': False, 'checkpoint': 1, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 8, 'flush': True, 'depth': 6, 'partial': False, 'final': True, 'error': False, 'checkpoint': 6, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['a']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 5, 'partial_drop': False, 'new_checkpoint': 6, 'unmatched_end': False, 'empty_flush': ['b']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 6, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 6, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': [], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 8, 'flush': True, 'depth': 6, 'partial': True, 'final': True, 'error': True, 'checkpoint': 6, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 6, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 3: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 9, 'begin': False, 'end': False, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 9, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 6, 'flush': True, 'depth': 1, 'partial': True, 'final': True, 'error': True, 'checkpoint': 9, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': True, 'depth': 0, 'partial': False, 'final': True, 'error': False, 'checkpoint': 0, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 0, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 6, 'flush': False, 'depth': 9, 'partial': True, 'final': False, 'error': True, 'checkpoint': 9, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 9, 'partial_drop': False, 'new_checkpoint': 9, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 6, 'flush': False, 'depth': 1, 'partial': False, 'final': False, 'error': True, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 12, 'flush': True, 'depth': 9, 'partial': True, 'final': True, 'error': True, 'checkpoint': 9, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 9, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 4: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 12, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 12, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b']}), ({'values': ['a'], 'threshold': 8, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 12, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': False, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 12, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': False, 'error': False, 'checkpoint': 1, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': [], 'threshold': 16, 'flush': True, 'depth': 1, 'partial': False, 'final': True, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 8, 'flush': True, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 12, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 12, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 16, 'flush': True, 'depth': 12, 'partial': True, 'final': True, 'error': True, 'checkpoint': 12, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 12, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 5: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 15, 'partial': False, 'final': True, 'error': True, 'checkpoint': 0, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': [], 'depth': 15, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 10, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': False, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 15, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 0, 'begin': True, 'end': True, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 20, 'flush': True, 'depth': 1, 'partial': False, 'final': False, 'error': False, 'checkpoint': 15, 'begin': True, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 20, 'flush': False, 'depth': 15, 'partial': False, 'final': True, 'error': False, 'checkpoint': 1, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 15, 'partial_drop': True, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 20, 'flush': True, 'depth': 15, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 16, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 20, 'flush': True, 'depth': 15, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 15, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})]}\nfor i,(state,expected) in enumerate(fixtures[N]):\n    check(\"transition \"+str(i), solve(state), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"876f5c65f604e86f0751ead8b0ccd7338330da76fe86790f43b057cfac07c40c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    return {\n        'ready': len(s['values'])>=s['threshold'],\n        'publish': s['depth']==0 and bool(s['values']) and (len(s['values'])>=s['threshold'] or s['flush'] or (s['final'] and s['partial'])),\n        'head': s['values'][:s['threshold']],\n        'tail': s['values'][s['threshold']:],\n        'rollback': s['values'][:s['checkpoint']] if s['error'] else list(s['values']),\n        'depth': s['depth']+int(s['begin'])-int(s['end']),\n        'partial_drop': s['final'] and not s['partial'] and 0<len(s['values'])<s['threshold'],\n        'new_checkpoint': len(s['values']) if s['begin'] else s['checkpoint'],\n        'unmatched_end': s['end'] and s['depth']==0,\n        'empty_flush': list(dict.fromkeys(x for x in s['batch_ids'] if x not in s['acknowledged'])),\n    }\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': True, 'depth': 3, 'partial': True, 'final': True, 'error': True, 'checkpoint': 3, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 3, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': [], 'threshold': 4, 'flush': True, 'depth': 0, 'partial': False, 'final': True, 'error': True, 'checkpoint': 3, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': True, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 1, 'partial': True, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a'], 'threshold': 2, 'flush': True, 'depth': 3, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': True, 'depth': 3, 'partial': False, 'final': True, 'error': True, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': [], 'depth': 4, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 4, 'flush': True, 'depth': 3, 'partial': True, 'final': True, 'error': True, 'checkpoint': 3, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 3, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 2: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a', 'b', 'c'], 'threshold': 4, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 1, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': False, 'publish': True, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': True, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': False, 'checkpoint': 1, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 8, 'flush': True, 'depth': 6, 'partial': False, 'final': True, 'error': False, 'checkpoint': 6, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['a']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 5, 'partial_drop': False, 'new_checkpoint': 6, 'unmatched_end': False, 'empty_flush': ['b']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 6, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 6, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': [], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 8, 'flush': True, 'depth': 6, 'partial': True, 'final': True, 'error': True, 'checkpoint': 6, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 6, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 3: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 9, 'begin': False, 'end': False, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 9, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 6, 'flush': True, 'depth': 1, 'partial': True, 'final': True, 'error': True, 'checkpoint': 9, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': True, 'depth': 0, 'partial': False, 'final': True, 'error': False, 'checkpoint': 0, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 0, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 6, 'flush': False, 'depth': 9, 'partial': True, 'final': False, 'error': True, 'checkpoint': 9, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 9, 'partial_drop': False, 'new_checkpoint': 9, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 6, 'flush': False, 'depth': 1, 'partial': False, 'final': False, 'error': True, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 12, 'flush': True, 'depth': 9, 'partial': True, 'final': True, 'error': True, 'checkpoint': 9, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 9, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 4: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 12, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 12, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b']}), ({'values': ['a'], 'threshold': 8, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 12, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': False, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 12, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': False, 'error': False, 'checkpoint': 1, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': [], 'threshold': 16, 'flush': True, 'depth': 1, 'partial': False, 'final': True, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 8, 'flush': True, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 12, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 12, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 16, 'flush': True, 'depth': 12, 'partial': True, 'final': True, 'error': True, 'checkpoint': 12, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 12, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 5: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 15, 'partial': False, 'final': True, 'error': True, 'checkpoint': 0, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': [], 'depth': 15, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 10, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': False, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 15, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 0, 'begin': True, 'end': True, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 20, 'flush': True, 'depth': 1, 'partial': False, 'final': False, 'error': False, 'checkpoint': 15, 'begin': True, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 20, 'flush': False, 'depth': 15, 'partial': False, 'final': True, 'error': False, 'checkpoint': 1, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 15, 'partial_drop': True, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 20, 'flush': True, 'depth': 15, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 16, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 20, 'flush': True, 'depth': 15, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 15, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})]}\nfor i,(state,expected) in enumerate(fixtures[N]):\n    check(\"transition \"+str(i), solve(state), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"c7caf2cbc8970cbc0076c8f9912c8ec3a9d93e2af755d420535ad869bc23c9f6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    return {\n        'ready': len(s['values'])>=s['threshold'],\n        'publish': s['depth']==0 and bool(s['values']) and (len(s['values'])>=s['threshold'] or s['flush'] or (s['final'] and s['partial'])),\n        'head': s['values'][:s['threshold']],\n        'tail': s['values'][s['threshold']:],\n        'rollback': s['values'][:s['checkpoint']] if s['error'] else list(s['values']),\n        'depth': max(0,s['depth']+int(s['begin'])-int(s['end'])),\n        'partial_drop': s['final'] and not s['partial'] and 0<len(s['values'])<s['threshold'],\n        'new_checkpoint': len(s['values']) if s['begin'] else s['checkpoint'],\n        'unmatched_end': s['end'] and s['depth']==0,\n        'empty_flush': list(dict.fromkeys(x for x in s['batch_ids'] if x not in s['acknowledged'])),\n    }\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': True, 'depth': 3, 'partial': True, 'final': True, 'error': True, 'checkpoint': 3, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 3, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': [], 'threshold': 4, 'flush': True, 'depth': 0, 'partial': False, 'final': True, 'error': True, 'checkpoint': 3, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': True, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 1, 'partial': True, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a'], 'threshold': 2, 'flush': True, 'depth': 3, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': True, 'depth': 3, 'partial': False, 'final': True, 'error': True, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': [], 'depth': 4, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 4, 'flush': True, 'depth': 3, 'partial': True, 'final': True, 'error': True, 'checkpoint': 3, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 3, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 2: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a', 'b', 'c'], 'threshold': 4, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 1, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': False, 'publish': True, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': True, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': False, 'checkpoint': 1, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 8, 'flush': True, 'depth': 6, 'partial': False, 'final': True, 'error': False, 'checkpoint': 6, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['a']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 5, 'partial_drop': False, 'new_checkpoint': 6, 'unmatched_end': False, 'empty_flush': ['b']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 6, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 6, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': [], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 8, 'flush': True, 'depth': 6, 'partial': True, 'final': True, 'error': True, 'checkpoint': 6, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 6, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 3: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': True, 'error': True, 'checkpoint': 9, 'begin': False, 'end': False, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 9, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 6, 'flush': True, 'depth': 1, 'partial': True, 'final': True, 'error': True, 'checkpoint': 9, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': True, 'depth': 0, 'partial': False, 'final': True, 'error': False, 'checkpoint': 0, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': True, 'depth': 0, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 6, 'flush': False, 'depth': 9, 'partial': True, 'final': False, 'error': True, 'checkpoint': 9, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 9, 'partial_drop': False, 'new_checkpoint': 9, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 6, 'flush': False, 'depth': 1, 'partial': False, 'final': False, 'error': True, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 12, 'flush': True, 'depth': 9, 'partial': True, 'final': True, 'error': True, 'checkpoint': 9, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 9, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 4: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 12, 'partial': False, 'final': True, 'error': True, 'checkpoint': 1, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a'], 'depth': 12, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b']}), ({'values': ['a'], 'threshold': 8, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 12, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': False, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 12, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': False, 'final': False, 'error': False, 'checkpoint': 1, 'begin': False, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': [], 'threshold': 16, 'flush': True, 'depth': 1, 'partial': False, 'final': True, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': True, 'final': False, 'error': False, 'checkpoint': 0, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': ['a', 'b', 'c'], 'depth': 2, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a', 'b', 'c'], 'threshold': 8, 'flush': True, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 12, 'begin': False, 'end': True, 'batch_ids': [], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 12, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 16, 'flush': True, 'depth': 12, 'partial': True, 'final': True, 'error': True, 'checkpoint': 12, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 12, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})], 5: [({'values': ['a', 'b', 'c'], 'threshold': 1, 'flush': False, 'depth': 15, 'partial': False, 'final': True, 'error': True, 'checkpoint': 0, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': []}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': ['b', 'c'], 'rollback': [], 'depth': 15, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['b', 'a']}), ({'values': ['a'], 'threshold': 10, 'flush': False, 'depth': 0, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': False, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['a']}, {'ready': False, 'publish': True, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 15, 'unmatched_end': True, 'empty_flush': []}), ({'values': ['a'], 'threshold': 1, 'flush': False, 'depth': 1, 'partial': True, 'final': False, 'error': True, 'checkpoint': 0, 'begin': True, 'end': True, 'batch_ids': [], 'acknowledged': ['a']}, {'ready': True, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': []}), ({'values': [], 'threshold': 20, 'flush': True, 'depth': 1, 'partial': False, 'final': False, 'error': False, 'checkpoint': 15, 'begin': True, 'end': True, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 1, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 20, 'flush': False, 'depth': 15, 'partial': False, 'final': True, 'error': False, 'checkpoint': 1, 'begin': False, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 15, 'partial_drop': True, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': ['a'], 'threshold': 20, 'flush': True, 'depth': 15, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': True, 'end': False, 'batch_ids': ['a'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a'], 'tail': [], 'rollback': ['a'], 'depth': 16, 'partial_drop': False, 'new_checkpoint': 1, 'unmatched_end': False, 'empty_flush': ['a']}), ({'values': [], 'threshold': 1, 'flush': False, 'depth': 0, 'partial': False, 'final': False, 'error': False, 'checkpoint': 0, 'begin': False, 'end': False, 'batch_ids': [], 'acknowledged': []}, {'ready': False, 'publish': False, 'head': [], 'tail': [], 'rollback': [], 'depth': 0, 'partial_drop': False, 'new_checkpoint': 0, 'unmatched_end': False, 'empty_flush': []}), ({'values': ['a', 'b', 'c'], 'threshold': 20, 'flush': True, 'depth': 15, 'partial': True, 'final': True, 'error': True, 'checkpoint': 15, 'begin': True, 'end': True, 'batch_ids': ['b', 'a', 'b'], 'acknowledged': ['b']}, {'ready': False, 'publish': False, 'head': ['a', 'b', 'c'], 'tail': [], 'rollback': ['a', 'b', 'c'], 'depth': 15, 'partial_drop': False, 'new_checkpoint': 3, 'unmatched_end': False, 'empty_flush': ['a']})]}\nfor i,(state,expected) in enumerate(fixtures[N]):\n    check(\"transition \"+str(i), solve(state), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-listener-batch-notification-depth","generated_at":"2026-09-29T14:43:49.385033+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Observer implementations need to preserve this state while subscriptions enter, execute, and leave their lifecycle.","repair":"Compute the depth decision from the complete contract: max(0,s['depth']+int(s['begin'])-int(s['end'])).","root_cause":"The depth decision in the batch-notification listener model is computed as s['depth']+int(s['begin'])-int(s['end']), losing a required lifecycle condition.","sha256":"93182c9369d0f361ccb563cedc12f683ceaaa0cb06d2bf38c12157993f9d9f18","title":"Ending a nonexistent observer batch produces negative nesting · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.16,"exit_code":1,"observations":[{"actual":{"depth":1,"empty_flush":["b","a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a","b","c"],"tail":["b","c"],"unmatched_end":false},"check":"transition 0","expected":{"depth":3,"empty_flush":["b","a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a","b","c"],"tail":["b","c"],"unmatched_end":false},"passed":false},{"actual":{"depth":0,"empty_flush":["a"],"head":[],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":true},"check":"transition 1","expected":{"depth":0,"empty_flush":["a"],"head":[],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":true},"passed":true},{"actual":{"depth":1,"empty_flush":[],"head":["a"],"new_checkpoint":1,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":[],"unmatched_end":false},"check":"transition 2","expected":{"depth":1,"empty_flush":[],"head":["a"],"new_checkpoint":1,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":[],"unmatched_end":false},"passed":true},{"actual":{"depth":0,"empty_flush":[],"head":["a"],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":["a"],"tail":[],"unmatched_end":false},"check":"transition 3","expected":{"depth":2,"empty_flush":[],"head":["a"],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":["a"],"tail":[],"unmatched_end":false},"passed":false},{"actual":{"depth":1,"empty_flush":["a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":["b","c"],"unmatched_end":false},"check":"transition 4","expected":{"depth":2,"empty_flush":["a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":["b","c"],"unmatched_end":false},"passed":false},{"actual":{"depth":1,"empty_flush":[],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":[],"tail":["b","c"],"unmatched_end":false},"check":"transition 5","expected":{"depth":4,"empty_flush":[],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":[],"tail":["b","c"],"unmatched_end":false},"passed":false},{"actual":{"depth":0,"empty_flush":[],"head":[],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":false},"check":"transition 6","expected":{"depth":0,"empty_flush":[],"head":[],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":false},"passed":true},{"actual":{"depth":1,"empty_flush":["a"],"head":["a","b","c"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":["a","b","c"],"tail":[],"unmatched_end":false},"check":"transition 7","expected":{"depth":3,"empty_flush":["a"],"head":["a","b","c"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":["a","b","c"],"tail":[],"unmatched_end":false},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"transition 0\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"b\", \"a\"]}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"b\", \"a\"]}, \"passed\": false}, {\"check\": \"transition 1\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": true, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": true, \"empty_flush\": [\"a\"]}, \"passed\": true}, {\"check\": \"transition 2\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 1, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 1, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 3\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": false}, {\"check\": \"transition 4\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"passed\": false}, {\"check\": \"transition 5\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [], \"depth\": 4, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": false}, {\"check\": \"transition 6\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 7\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [\"a\", \"b\", \"c\"], \"tail\": [], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [\"a\", \"b\", \"c\"], \"tail\": [], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.061,"exit_code":1,"observations":[{"actual":{"depth":3,"empty_flush":["b","a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a","b","c"],"tail":["b","c"],"unmatched_end":false},"check":"transition 0","expected":{"depth":3,"empty_flush":["b","a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a","b","c"],"tail":["b","c"],"unmatched_end":false},"passed":true},{"actual":{"depth":-1,"empty_flush":["a"],"head":[],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":true},"check":"transition 1","expected":{"depth":0,"empty_flush":["a"],"head":[],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":true},"passed":false},{"actual":{"depth":1,"empty_flush":[],"head":["a"],"new_checkpoint":1,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":[],"unmatched_end":false},"check":"transition 2","expected":{"depth":1,"empty_flush":[],"head":["a"],"new_checkpoint":1,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":[],"unmatched_end":false},"passed":true},{"actual":{"depth":2,"empty_flush":[],"head":["a"],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":["a"],"tail":[],"unmatched_end":false},"check":"transition 3","expected":{"depth":2,"empty_flush":[],"head":["a"],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":["a"],"tail":[],"unmatched_end":false},"passed":true},{"actual":{"depth":2,"empty_flush":["a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":["b","c"],"unmatched_end":false},"check":"transition 4","expected":{"depth":2,"empty_flush":["a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":["b","c"],"unmatched_end":false},"passed":true},{"actual":{"depth":4,"empty_flush":[],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":[],"tail":["b","c"],"unmatched_end":false},"check":"transition 5","expected":{"depth":4,"empty_flush":[],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":[],"tail":["b","c"],"unmatched_end":false},"passed":true},{"actual":{"depth":0,"empty_flush":[],"head":[],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":false},"check":"transition 6","expected":{"depth":0,"empty_flush":[],"head":[],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":false},"passed":true},{"actual":{"depth":3,"empty_flush":["a"],"head":["a","b","c"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":["a","b","c"],"tail":[],"unmatched_end":false},"check":"transition 7","expected":{"depth":3,"empty_flush":["a"],"head":["a","b","c"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":["a","b","c"],"tail":[],"unmatched_end":false},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"transition 0\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"b\", \"a\"]}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"b\", \"a\"]}, \"passed\": true}, {\"check\": \"transition 1\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": -1, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": true, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": true, \"empty_flush\": [\"a\"]}, \"passed\": false}, {\"check\": \"transition 2\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 1, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 1, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 3\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 4\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"passed\": true}, {\"check\": \"transition 5\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [], \"depth\": 4, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [], \"depth\": 4, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 6\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 7\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [\"a\", \"b\", \"c\"], \"tail\": [], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [\"a\", \"b\", \"c\"], \"tail\": [], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":49.611,"exit_code":0,"observations":[{"actual":{"depth":3,"empty_flush":["b","a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a","b","c"],"tail":["b","c"],"unmatched_end":false},"check":"transition 0","expected":{"depth":3,"empty_flush":["b","a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a","b","c"],"tail":["b","c"],"unmatched_end":false},"passed":true},{"actual":{"depth":0,"empty_flush":["a"],"head":[],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":true},"check":"transition 1","expected":{"depth":0,"empty_flush":["a"],"head":[],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":true},"passed":true},{"actual":{"depth":1,"empty_flush":[],"head":["a"],"new_checkpoint":1,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":[],"unmatched_end":false},"check":"transition 2","expected":{"depth":1,"empty_flush":[],"head":["a"],"new_checkpoint":1,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":[],"unmatched_end":false},"passed":true},{"actual":{"depth":2,"empty_flush":[],"head":["a"],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":["a"],"tail":[],"unmatched_end":false},"check":"transition 3","expected":{"depth":2,"empty_flush":[],"head":["a"],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":["a"],"tail":[],"unmatched_end":false},"passed":true},{"actual":{"depth":2,"empty_flush":["a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":["b","c"],"unmatched_end":false},"check":"transition 4","expected":{"depth":2,"empty_flush":["a"],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":["a"],"tail":["b","c"],"unmatched_end":false},"passed":true},{"actual":{"depth":4,"empty_flush":[],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":[],"tail":["b","c"],"unmatched_end":false},"check":"transition 5","expected":{"depth":4,"empty_flush":[],"head":["a"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":true,"rollback":[],"tail":["b","c"],"unmatched_end":false},"passed":true},{"actual":{"depth":0,"empty_flush":[],"head":[],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":false},"check":"transition 6","expected":{"depth":0,"empty_flush":[],"head":[],"new_checkpoint":0,"partial_drop":false,"publish":false,"ready":false,"rollback":[],"tail":[],"unmatched_end":false},"passed":true},{"actual":{"depth":3,"empty_flush":["a"],"head":["a","b","c"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":["a","b","c"],"tail":[],"unmatched_end":false},"check":"transition 7","expected":{"depth":3,"empty_flush":["a"],"head":["a","b","c"],"new_checkpoint":3,"partial_drop":false,"publish":false,"ready":false,"rollback":["a","b","c"],"tail":[],"unmatched_end":false},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"transition 0\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"b\", \"a\"]}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"b\", \"a\"]}, \"passed\": true}, {\"check\": \"transition 1\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": true, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": true, \"empty_flush\": [\"a\"]}, \"passed\": true}, {\"check\": \"transition 2\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 1, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 1, \"partial_drop\": false, \"new_checkpoint\": 1, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 3\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [\"a\"], \"tail\": [], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 4\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [\"a\"], \"depth\": 2, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"passed\": true}, {\"check\": \"transition 5\", \"actual\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [], \"depth\": 4, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": true, \"publish\": false, \"head\": [\"a\"], \"tail\": [\"b\", \"c\"], \"rollback\": [], \"depth\": 4, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 6\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [], \"tail\": [], \"rollback\": [], \"depth\": 0, \"partial_drop\": false, \"new_checkpoint\": 0, \"unmatched_end\": false, \"empty_flush\": []}, \"passed\": true}, {\"check\": \"transition 7\", \"actual\": {\"ready\": false, \"publish\": false, \"head\": [\"a\", \"b\", \"c\"], \"tail\": [], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"expected\": {\"ready\": false, \"publish\": false, \"head\": [\"a\", \"b\", \"c\"], \"tail\": [], \"rollback\": [\"a\", \"b\", \"c\"], \"depth\": 3, \"partial_drop\": false, \"new_checkpoint\": 3, \"unmatched_end\": false, \"empty_flush\": [\"a\"]}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}