FAILURE MAP
← Case archive

FA-13226 / Numerical aggregation / Open access

Positive run block summary: The prefix continues growing after a previous block already broke it. · case 01

The reduction disagrees with its explicit aggregation oracle.

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

ROOT CAUSE

The prefix continues growing after a previous block already broke it.

VERIFIED REPAIR

Preserve the positive run block summary contract at the identified reduction decision.

Unsuccessful approach: A nonempty incoming prefix says nothing about earlier breaks.

Case contract

Return [item count, positive prefix length, positive suffix length, longest strictly positive contiguous run] over ordered integer blocks. Empty blocks are identity, zero breaks a run.

Why this case matters

Exact bounded examples isolate a reduction defect without floating-point or external-service effects.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
from collections import Counter, defaultdict
import math
import itertools
N = 1
observations = []
def solve(blocks):
    total=0
    previous=None
    prefix=suffix=best=0
    all_positive=True
    for block in blocks:
        k=len(block)
        p=next((i for i,x in enumerate(block) if x<=0),k)
        s=next((i for i,x in enumerate(reversed(block)) if x<=0),k)
        local=run=0
        for x in block:
            run=run+1 if x>0 else 0
            local=max(local,run)
        best=max(best,local,suffix+p)
        prefix+=p
        suffix=suffix+k if s==k else s
        all_positive=all_positive and p==k
        total+=k
    return [total,prefix,suffix,best]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([[1, 1, 0, 1, 1, 0]],)), [6, 2, 0, 2])
check('regression 2', solve(*([[1, 0, 1, 0, 1, 1, 0]],)), [7, 1, 0, 2])
check('regression 3', solve(*([[1, 2], [3, 0, 4]],)), [5, 3, 1, 3])
check('regression 4', solve(*([[1, 0, 2], [3, 4, -1, 5]],)), [7, 1, 1, 3])
check('regression 5', solve(*([],)), [0, 0, 0, 0])
check('regression 6', solve(*([[], [0, 0], []],)), [2, 0, 0, 0])
check('regression 7', solve(*([[1, 2], [], [3, 4]],)), [4, 4, 4, 4])
check('regression 8', solve(*([[-1, 2, 3], [4, -1], [-2, 1]],)), [7, 0, 1, 3])
check('regression 9', solve(*([[0], [1, 1, 1], [1, 0]],)), [6, 0, 0, 4])
check("variable positive run",solve([[1]*N,[2]*N+[0]]),[2*N+1,2*N,0,2*N])
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 1[6, 2, 0, 2][6, 2, 0, 2]Passed
regression 2[7, 1, 0, 2][7, 1, 0, 2]Passed
regression 3[5, 3, 1, 3][5, 3, 1, 3]Passed
regression 4[7, 3, 1, 3][7, 1, 1, 3]Failed
regression 5[0, 0, 0, 0][0, 0, 0, 0]Passed
regression 6[2, 0, 0, 0][2, 0, 0, 0]Passed
regression 7[4, 4, 4, 4][4, 4, 4, 4]Passed
regression 8[7, 1, 1, 3][7, 0, 1, 3]Failed
regression 9[6, 4, 0, 4][6, 0, 0, 4]Failed
variable positive run[3, 2, 0, 2][3, 2, 0, 2]Passed

SHA-256 / b95e7fdea3de67751f7ec255cf1c25d4e95cd95c8b9d4860b437ce0b91e8ad28

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
from collections import Counter, defaultdict
import math
import itertools
N = 1
observations = []
def solve(blocks):
    total=0
    previous=None
    prefix=suffix=best=0
    all_positive=True
    for block in blocks:
        k=len(block)
        p=next((i for i,x in enumerate(block) if x<=0),k)
        s=next((i for i,x in enumerate(reversed(block)) if x<=0),k)
        local=run=0
        for x in block:
            run=run+1 if x>0 else 0
            local=max(local,run)
        best=max(best,local,suffix+p)
        if p: prefix+=p
        suffix=suffix+k if s==k else s
        all_positive=all_positive and p==k
        total+=k
    return [total,prefix,suffix,best]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([[1, 1, 0, 1, 1, 0]],)), [6, 2, 0, 2])
check('regression 2', solve(*([[1, 0, 1, 0, 1, 1, 0]],)), [7, 1, 0, 2])
check('regression 3', solve(*([[1, 2], [3, 0, 4]],)), [5, 3, 1, 3])
check('regression 4', solve(*([[1, 0, 2], [3, 4, -1, 5]],)), [7, 1, 1, 3])
check('regression 5', solve(*([],)), [0, 0, 0, 0])
check('regression 6', solve(*([[], [0, 0], []],)), [2, 0, 0, 0])
check('regression 7', solve(*([[1, 2], [], [3, 4]],)), [4, 4, 4, 4])
check('regression 8', solve(*([[-1, 2, 3], [4, -1], [-2, 1]],)), [7, 0, 1, 3])
check('regression 9', solve(*([[0], [1, 1, 1], [1, 0]],)), [6, 0, 0, 4])
check("variable positive run",solve([[1]*N,[2]*N+[0]]),[2*N+1,2*N,0,2*N])
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 1[6, 2, 0, 2][6, 2, 0, 2]Passed
regression 2[7, 1, 0, 2][7, 1, 0, 2]Passed
regression 3[5, 3, 1, 3][5, 3, 1, 3]Passed
regression 4[7, 3, 1, 3][7, 1, 1, 3]Failed
regression 5[0, 0, 0, 0][0, 0, 0, 0]Passed
regression 6[2, 0, 0, 0][2, 0, 0, 0]Passed
regression 7[4, 4, 4, 4][4, 4, 4, 4]Passed
regression 8[7, 1, 1, 3][7, 0, 1, 3]Failed
regression 9[6, 4, 0, 4][6, 0, 0, 4]Failed
variable positive run[3, 2, 0, 2][3, 2, 0, 2]Passed

SHA-256 / 07ff9c5f2e331c5cf36bb50e32f07c4a09964fd6887fd5dce8239c2056b319c3

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
from collections import Counter, defaultdict
import math
import itertools
N = 1
observations = []
def solve(blocks):
    total=0
    previous=None
    prefix=suffix=best=0
    all_positive=True
    for block in blocks:
        k=len(block)
        p=next((i for i,x in enumerate(block) if x<=0),k)
        s=next((i for i,x in enumerate(reversed(block)) if x<=0),k)
        local=run=0
        for x in block:
            run=run+1 if x>0 else 0
            local=max(local,run)
        best=max(best,local,suffix+p)
        if all_positive: prefix+=p
        suffix=suffix+k if s==k else s
        all_positive=all_positive and p==k
        total+=k
    return [total,prefix,suffix,best]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([[1, 1, 0, 1, 1, 0]],)), [6, 2, 0, 2])
check('regression 2', solve(*([[1, 0, 1, 0, 1, 1, 0]],)), [7, 1, 0, 2])
check('regression 3', solve(*([[1, 2], [3, 0, 4]],)), [5, 3, 1, 3])
check('regression 4', solve(*([[1, 0, 2], [3, 4, -1, 5]],)), [7, 1, 1, 3])
check('regression 5', solve(*([],)), [0, 0, 0, 0])
check('regression 6', solve(*([[], [0, 0], []],)), [2, 0, 0, 0])
check('regression 7', solve(*([[1, 2], [], [3, 4]],)), [4, 4, 4, 4])
check('regression 8', solve(*([[-1, 2, 3], [4, -1], [-2, 1]],)), [7, 0, 1, 3])
check('regression 9', solve(*([[0], [1, 1, 1], [1, 0]],)), [6, 0, 0, 4])
check("variable positive run",solve([[1]*N,[2]*N+[0]]),[2*N+1,2*N,0,2*N])
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 1[6, 2, 0, 2][6, 2, 0, 2]Passed
regression 2[7, 1, 0, 2][7, 1, 0, 2]Passed
regression 3[5, 3, 1, 3][5, 3, 1, 3]Passed
regression 4[7, 1, 1, 3][7, 1, 1, 3]Passed
regression 5[0, 0, 0, 0][0, 0, 0, 0]Passed
regression 6[2, 0, 0, 0][2, 0, 0, 0]Passed
regression 7[4, 4, 4, 4][4, 4, 4, 4]Passed
regression 8[7, 0, 1, 3][7, 0, 1, 3]Passed
regression 9[6, 0, 0, 4][6, 0, 0, 4]Passed
variable positive run[3, 2, 0, 2][3, 2, 0, 2]Passed

SHA-256 / dd6d50270aaa436369bc50b1b751995ab08b42b558a8b268f92e74559b1aba29

Verification & scope

Small offline integer/rational inputs only; no performance, statistical inference, or production-library conformance claim. 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:39:04.752871+00:00.

Case digest / 35c6862905752c0cd5d0378a57f8b42e573192cc0dfcf139341b460355acc89b