FAILURE MAP
← Case archive

FA-40941 / Heap invariants / Open access

Calendar resize logical cycle span uses both new sizing parameters · case 01

The bounded calendar rehash certificate reports an incorrect cycle span.

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

ROOT CAUSE

Calendar resize logical cycle span uses both new sizing parameters.

VERIFIED REPAIR

Derive cycle span using nw*nb under the stated bounded certificate contract.

Unsuccessful approach: The local patch uses nw*ob 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': [new.count(j) for j in range(nb)],
    'cycle_span': ow*ob,
    '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': 8, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}{'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}Failed
regression certificate 2{'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 4, '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']]}Failed
regression certificate 3{'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 12, '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']]}Failed
regression certificate 4{'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 3, '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']]}Failed
regression certificate 5{'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 8, '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']]}Failed
regression certificate 6{'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 10, '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']]}Failed
variant-dependent certificate{'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 10, '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': []}Failed

SHA-256 / 58fc0221905c8d6ca0f8905f4a6911b317a77f4807612209eea2998b3fddc46d

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': [new.count(j) for j in range(nb)],
    'cycle_span': nw*ob,
    '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': 12, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}{'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []}Failed
regression certificate 2{'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 6, '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']]}Failed
regression certificate 3{'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 4, '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']]}Failed
regression certificate 4{'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 6, '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']]}Failed
regression certificate 5{'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 4, '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']]}Failed
regression certificate 6{'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 15, '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']]}Failed
variant-dependent certificate{'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 15, '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': []}Failed

SHA-256 / a4d347596725cdb9d93a3e68e0e664971787ba6916ed9231bd587917373f83f5

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

Case digest / 5f6eae0d424a815c150f3d2b144ccaf07a4775a24f0f6d778422e74d09187c31