FAILURE MAP
← Case archive

FA-40936 / Heap invariants / Open access

Calendar resize occupancy counts all events after redistribution · case 01

The bounded calendar rehash certificate reports an incorrect occupancy.

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

ROOT CAUSE

Calendar resize occupancy counts all events after redistribution.

VERIFIED REPAIR

Derive occupancy using [new.count(j) for j in range(nb)] under the stated bounded certificate contract.

Unsuccessful approach: The local patch uses [old.count(j) for j in range(nb)] and still violates the stated relation.

Case contract

Calendar queue resize receives events [id,tick], origin, old width/count and new width/count. Reinsert every event using new floor-divided virtual position; preserve arrival order within each destination. Report new bucket contents, moved ids, old aliases split by resize, occupancy, new interval span, and member count.

Why this case matters

This isolates an internal heap representation or priority-structure invariant using deterministic finite records.

1 / The failure

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

N = 1
observations = []
def solve(d):
    a=d['events']; o=d['origin']; ow=d['old_width']; ob=d['old_count']; nw=d['new_width']; nb=d['new_count']; old=[((x[1]-o)//ow)%ob for x in a]; new=[((x[1]-o)//nw)%nb for x in a]
    return {'buckets': [[x[0] for x,k in zip(a,new) if k==j] for j in range(nb)],
    'moved': [x[0] for x,k,l in zip(a,old,new) if k!=l],
    'split_aliases': [[a[i][0],a[j][0]] for i in range(len(a)) for j in range(i+1,len(a)) if old[i]==old[j] and new[i]!=new[j]],
    'occupancy': [int(j in new) for j in range(nb)],
    'cycle_span': nw*nb,
    'members': len(a)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 3, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'moved': ['0', '3', '5'], 'split_aliases': [], 'occupancy': [5, 0, 1], 'cycle_span': 9, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], ['5'], ['0', '4']], 'moved': ['3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 1, 2], 'cycle_span': 12, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 5, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], ['5'], [], ['4'], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 1, 0, 1, 1], 'cycle_span': 15, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 6, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], [], [], ['4'], [], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 0, 0, 1, 0, 1], 'cycle_span': 18, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 7, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], [], ['4'], [], [], ['0', '5']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 0, 1, 0, 0, 2], 'cycle_span': 21, 'members': 6})]][N-1]
check('regression certificate 1', solve(cases[0][0]), cases[0][1])
check('regression certificate 2', solve(cases[1][0]), cases[1][1])
check('regression certificate 3', solve(cases[2][0]), cases[2][1])
check('regression certificate 4', solve(cases[3][0]), cases[3][1])
check('regression certificate 5', solve(cases[4][0]), cases[4][1])
check('regression certificate 6', solve(cases[5][0]), cases[5][1])
check('variant-dependent certificate', solve(cases[6][0]), cases[6][1])
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
regression certificate 1{'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}{'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}Passed
regression certificate 2{'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [1, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]}{'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]}Failed
regression certificate 3{'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [1, 1, 1], 'split_aliases': [['1', '2'], ['2', '4']]}{'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]}Failed
regression certificate 4{'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [1, 1], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]}{'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]}Failed
regression certificate 5{'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [1, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]}{'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]}Failed
regression certificate 6{'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [1, 1], 'split_aliases': [['1', '4'], ['2', '4']]}{'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]}Failed
variant-dependent certificate{'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [1, 0, 1], 'split_aliases': []}{'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []}Failed

SHA-256 / 38580952167e68fd984e64ef3236eb4a3da70d6049c1a46c92f1446cf1239b26

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(d):
    a=d['events']; o=d['origin']; ow=d['old_width']; ob=d['old_count']; nw=d['new_width']; nb=d['new_count']; old=[((x[1]-o)//ow)%ob for x in a]; new=[((x[1]-o)//nw)%nb for x in a]
    return {'buckets': [[x[0] for x,k in zip(a,new) if k==j] for j in range(nb)],
    'moved': [x[0] for x,k,l in zip(a,old,new) if k!=l],
    'split_aliases': [[a[i][0],a[j][0]] for i in range(len(a)) for j in range(i+1,len(a)) if old[i]==old[j] and new[i]!=new[j]],
    'occupancy': [old.count(j) for j in range(nb)],
    'cycle_span': nw*nb,
    'members': len(a)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 3, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'moved': ['0', '3', '5'], 'split_aliases': [], 'occupancy': [5, 0, 1], 'cycle_span': 9, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], ['5'], ['0', '4']], 'moved': ['3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 1, 2], 'cycle_span': 12, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 5, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], ['5'], [], ['4'], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 1, 0, 1, 1], 'cycle_span': 15, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 6, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], [], [], ['4'], [], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 0, 0, 1, 0, 1], 'cycle_span': 18, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 7, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], [], ['4'], [], [], ['0', '5']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 0, 1, 0, 0, 2], 'cycle_span': 21, 'members': 6})]][N-1]
check('regression certificate 1', solve(cases[0][0]), cases[0][1])
check('regression certificate 2', solve(cases[1][0]), cases[1][1])
check('regression certificate 3', solve(cases[2][0]), cases[2][1])
check('regression certificate 4', solve(cases[3][0]), cases[3][1])
check('regression certificate 5', solve(cases[4][0]), cases[4][1])
check('regression certificate 6', solve(cases[5][0]), cases[5][1])
check('variant-dependent certificate', solve(cases[6][0]), cases[6][1])
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
regression certificate 1{'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}{'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}Passed
regression certificate 2{'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [5, 0, 0, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]}{'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]}Failed
regression certificate 3{'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [3, 1, 0], 'split_aliases': [['1', '2'], ['2', '4']]}{'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]}Failed
regression certificate 4{'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [5, 0], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]}{'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]}Failed
regression certificate 5{'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [3, 2, 0, 0, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]}{'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]}Failed
regression certificate 6{'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [3, 1], 'split_aliases': [['1', '4'], ['2', '4']]}{'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]}Failed
variant-dependent certificate{'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [3, 1, 0], 'split_aliases': []}{'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []}Failed

SHA-256 / 4ffe1b1745d1936e54177a2d60dcb5aa52b7ddb1b6f9c33fa3ed4f9f4c65d518

3 / The verified repair

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

N = 1
observations = []
def solve(d):
    a=d['events']; o=d['origin']; ow=d['old_width']; ob=d['old_count']; nw=d['new_width']; nb=d['new_count']; old=[((x[1]-o)//ow)%ob for x in a]; new=[((x[1]-o)//nw)%nb for x in a]
    return {'buckets': [[x[0] for x,k in zip(a,new) if k==j] for j in range(nb)],
    'moved': [x[0] for x,k,l in zip(a,old,new) if k!=l],
    'split_aliases': [[a[i][0],a[j][0]] for i in range(len(a)) for j in range(i+1,len(a)) if old[i]==old[j] and new[i]!=new[j]],
    'occupancy': [new.count(j) for j in range(nb)],
    'cycle_span': nw*nb,
    'members': len(a)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 3, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'moved': ['0', '3', '5'], 'split_aliases': [], 'occupancy': [5, 0, 1], 'cycle_span': 9, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], ['5'], ['0', '4']], 'moved': ['3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 1, 2], 'cycle_span': 12, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 5, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], ['5'], [], ['4'], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 1, 0, 1, 1], 'cycle_span': 15, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 6, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], [], [], ['4'], [], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 0, 0, 1, 0, 1], 'cycle_span': 18, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 7, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], [], ['4'], [], [], ['0', '5']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 0, 1, 0, 0, 2], 'cycle_span': 21, 'members': 6})]][N-1]
check('regression certificate 1', solve(cases[0][0]), cases[0][1])
check('regression certificate 2', solve(cases[1][0]), cases[1][1])
check('regression certificate 3', solve(cases[2][0]), cases[2][1])
check('regression certificate 4', solve(cases[3][0]), cases[3][1])
check('regression certificate 5', solve(cases[4][0]), cases[4][1])
check('regression certificate 6', solve(cases[5][0]), cases[5][1])
check('variant-dependent certificate', solve(cases[6][0]), cases[6][1])
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
regression certificate 1{'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}{'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}Passed
regression certificate 2{'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]}{'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]}Passed
regression certificate 3{'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]}{'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]}Passed
regression certificate 4{'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]}{'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]}Passed
regression certificate 5{'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]}{'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]}Passed
regression certificate 6{'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]}{'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]}Passed
variant-dependent certificate{'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []}{'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []}Passed

SHA-256 / 6a73a65b166a400615359262f74f472dc4c49c3f55cee18b6d36a393561417e1

Verification & scope

A stipulated offline diagnostic model; it does not implement a production allocator, concurrency protocol, or complete heap library. 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:35.920945+00:00.

Case digest / fa65b7f0fef8168e6ba5ba8e0bcca00e6cbac782a8d422eb5125cdf9a5d0a507