FAILURE MAP
← Case archive

FA-40956 / Heap invariants / Open access

Heap frontier next candidate competes with all retained branches · case 01

The bounded heap frontier certificate reports an incorrect chosen.

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

ROOT CAUSE

Heap frontier next candidate competes with all retained branches.

VERIFIED REPAIR

Derive chosen using nxt under the stated bounded certificate contract.

Unsuccessful approach: The local patch uses f[0] if f else children[0] if children else None and still violates the stated relation.

Case contract

A read-only best-first traversal of a valid binary min heap has already emitted parent slot p and a frontier of distinct slots. Insert p children that exist into the frontier, order by (key,index), and choose next. Return new frontier, chosen slot, child additions, traversal output key, preserved heap, and next frontier after selection. Initial frontier excludes p and its children.

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['keys']; p=d['parent']; f=d['frontier']; children=[i for i in (2*p+1,2*p+2) if i<len(a)]; ready=sorted(f+children,key=lambda i:(a[i],i)); nxt=ready[0] if ready else None
    return {'ready': ready,
    'chosen': min(children,key=lambda i:a[i]) if children else None,
    'children': children,
    'next_key': None if nxt is None else a[nxt],
    'heap_after': a,
    'frontier_after': ready[1:]}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 9], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 10], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 10], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 11], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 11], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 12], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 12], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 13], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 13], 'frontier_after': [4, 7]})]][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{'children': [], 'chosen': None, 'frontier_after': [], 'heap_after': [1], 'next_key': None, 'ready': []}{'children': [], 'chosen': None, 'frontier_after': [], 'heap_after': [1], 'next_key': None, 'ready': []}Passed
regression certificate 2{'children': [1, 2], 'chosen': 2, 'frontier_after': [1], 'heap_after': [1, 7, 2], 'next_key': 2, 'ready': [2, 1]}{'children': [1, 2], 'chosen': 2, 'frontier_after': [1], 'heap_after': [1, 7, 2], 'next_key': 2, 'ready': [2, 1]}Passed
regression certificate 3{'children': [3, 4], 'chosen': 4, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}Failed
regression certificate 4{'children': [3, 4], 'chosen': 4, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}Failed
regression certificate 5{'children': [1, 2], 'chosen': 1, 'frontier_after': [2], 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'next_key': 3, 'ready': [1, 2]}{'children': [1, 2], 'chosen': 1, 'frontier_after': [2], 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'next_key': 3, 'ready': [1, 2]}Passed
regression certificate 6{'children': [7], 'chosen': 7, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'next_key': 3, 'ready': [2, 4, 7]}{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'next_key': 3, 'ready': [2, 4, 7]}Failed
variant-dependent certificate{'children': [7], 'chosen': 7, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'next_key': 3, 'ready': [2, 4, 7]}{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'next_key': 3, 'ready': [2, 4, 7]}Failed

SHA-256 / 0502930caf22c67d475e79080c275976fa2a37aba074fd1d8b806a64c6bdf58a

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(d):
    a=d['keys']; p=d['parent']; f=d['frontier']; children=[i for i in (2*p+1,2*p+2) if i<len(a)]; ready=sorted(f+children,key=lambda i:(a[i],i)); nxt=ready[0] if ready else None
    return {'ready': ready,
    'chosen': f[0] if f else children[0] if children else None,
    'children': children,
    'next_key': None if nxt is None else a[nxt],
    'heap_after': a,
    'frontier_after': ready[1:]}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 9], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 10], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 10], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 11], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 11], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 12], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 12], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 13], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 13], 'frontier_after': [4, 7]})]][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{'children': [], 'chosen': None, 'frontier_after': [], 'heap_after': [1], 'next_key': None, 'ready': []}{'children': [], 'chosen': None, 'frontier_after': [], 'heap_after': [1], 'next_key': None, 'ready': []}Passed
regression certificate 2{'children': [1, 2], 'chosen': 1, 'frontier_after': [1], 'heap_after': [1, 7, 2], 'next_key': 2, 'ready': [2, 1]}{'children': [1, 2], 'chosen': 2, 'frontier_after': [1], 'heap_after': [1, 7, 2], 'next_key': 2, 'ready': [2, 1]}Failed
regression certificate 3{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}Passed
regression certificate 4{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}Passed
regression certificate 5{'children': [1, 2], 'chosen': 1, 'frontier_after': [2], 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'next_key': 3, 'ready': [1, 2]}{'children': [1, 2], 'chosen': 1, 'frontier_after': [2], 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'next_key': 3, 'ready': [1, 2]}Passed
regression certificate 6{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'next_key': 3, 'ready': [2, 4, 7]}{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'next_key': 3, 'ready': [2, 4, 7]}Passed
variant-dependent certificate{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'next_key': 3, 'ready': [2, 4, 7]}{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'next_key': 3, 'ready': [2, 4, 7]}Passed

SHA-256 / 7eefc6c568f2514728a8298f181a453858267f00c47953de328b67e9a2fd2ef2

3 / The verified repair

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

N = 1
observations = []
def solve(d):
    a=d['keys']; p=d['parent']; f=d['frontier']; children=[i for i in (2*p+1,2*p+2) if i<len(a)]; ready=sorted(f+children,key=lambda i:(a[i],i)); nxt=ready[0] if ready else None
    return {'ready': ready,
    'chosen': nxt,
    'children': children,
    'next_key': None if nxt is None else a[nxt],
    'heap_after': a,
    'frontier_after': ready[1:]}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 9], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 10], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 10], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 11], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 11], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 12], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 12], 'frontier_after': [4, 7]})], [({'keys': [1], 'parent': 0, 'frontier': []}, {'ready': [], 'chosen': None, 'children': [], 'next_key': None, 'heap_after': [1], 'frontier_after': []}), ({'keys': [1, 7, 2], 'parent': 0, 'frontier': []}, {'ready': [2, 1], 'chosen': 2, 'children': [1, 2], 'next_key': 2, 'heap_after': [1, 7, 2], 'frontier_after': [1]}), ({'keys': [1, 4, 2, 7, 5, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 4, 2, 7, 4, 3, 6], 'parent': 1, 'frontier': [2]}, {'ready': [2, 4, 3], 'chosen': 2, 'children': [3, 4], 'next_key': 2, 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'frontier_after': [4, 3]}), ({'keys': [1, 3, 3, 5, 6, 7, 8], 'parent': 0, 'frontier': []}, {'ready': [1, 2], 'chosen': 1, 'children': [1, 2], 'next_key': 3, 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'frontier_after': [2]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 8], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'frontier_after': [4, 7]}), ({'keys': [1, 2, 3, 4, 5, 6, 7, 13], 'parent': 3, 'frontier': [2, 4]}, {'ready': [2, 4, 7], 'chosen': 2, 'children': [7], 'next_key': 3, 'heap_after': [1, 2, 3, 4, 5, 6, 7, 13], 'frontier_after': [4, 7]})]][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{'children': [], 'chosen': None, 'frontier_after': [], 'heap_after': [1], 'next_key': None, 'ready': []}{'children': [], 'chosen': None, 'frontier_after': [], 'heap_after': [1], 'next_key': None, 'ready': []}Passed
regression certificate 2{'children': [1, 2], 'chosen': 2, 'frontier_after': [1], 'heap_after': [1, 7, 2], 'next_key': 2, 'ready': [2, 1]}{'children': [1, 2], 'chosen': 2, 'frontier_after': [1], 'heap_after': [1, 7, 2], 'next_key': 2, 'ready': [2, 1]}Passed
regression certificate 3{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 5, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}Passed
regression certificate 4{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}{'children': [3, 4], 'chosen': 2, 'frontier_after': [4, 3], 'heap_after': [1, 4, 2, 7, 4, 3, 6], 'next_key': 2, 'ready': [2, 4, 3]}Passed
regression certificate 5{'children': [1, 2], 'chosen': 1, 'frontier_after': [2], 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'next_key': 3, 'ready': [1, 2]}{'children': [1, 2], 'chosen': 1, 'frontier_after': [2], 'heap_after': [1, 3, 3, 5, 6, 7, 8], 'next_key': 3, 'ready': [1, 2]}Passed
regression certificate 6{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'next_key': 3, 'ready': [2, 4, 7]}{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 8], 'next_key': 3, 'ready': [2, 4, 7]}Passed
variant-dependent certificate{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'next_key': 3, 'ready': [2, 4, 7]}{'children': [7], 'chosen': 2, 'frontier_after': [4, 7], 'heap_after': [1, 2, 3, 4, 5, 6, 7, 9], 'next_key': 3, 'ready': [2, 4, 7]}Passed

SHA-256 / c142259ac587e9a80429a6406a56a9ddacffb4db4547535018656b75b55f2d9e

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

Case digest / 69bfda8e8426d6fd10b75fece586c22bd5a995262789ae0253b9e709de75b83b