{"abstract":"The reduction disagrees with its explicit aggregation oracle.","category":"Numerical aggregation","checks":10,"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.","evaluation_group":"s3-na-positive-run-block-summary","failed_approach":"A block with no prefix can still have a nonempty suffix.","family":"s3-numerical-aggregation-positive-run-block-summary-empty-block-run-reset","id":"FA-13236","implementations":{"attempt":{"sha256":"fe7b27498e48928600d37f762ba9df2b00819f0a6d5e3c6cb799c148663eaa43","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nfrom collections import Counter, defaultdict\nimport math\nimport itertools\nN = 1\nobservations = []\ndef solve(blocks):\n    total=0\n    previous=None\n    prefix=suffix=best=0\n    all_positive=True\n    for block in blocks:\n        k=len(block)\n        p=next((i for i,x in enumerate(block) if x<=0),k)\n        s=next((i for i,x in enumerate(reversed(block)) if x<=0),k)\n        local=run=0\n        for x in block:\n            run=run+1 if x>0 else 0\n            local=max(local,run)\n        best=max(best,local,suffix+p)\n        if all_positive: prefix+=p\n        suffix=0 if not p else (suffix+k if s==k else s)\n        all_positive=all_positive and p==k\n        total+=k\n    return [total,prefix,suffix,best]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('regression 1', solve(*([[1, 1, 0, 1, 1, 0]],)), [6, 2, 0, 2])\ncheck('regression 2', solve(*([[1, 0, 1, 0, 1, 1, 0]],)), [7, 1, 0, 2])\ncheck('regression 3', solve(*([[1, 2], [3, 0, 4]],)), [5, 3, 1, 3])\ncheck('regression 4', solve(*([[1, 0, 2], [3, 4, -1, 5]],)), [7, 1, 1, 3])\ncheck('regression 5', solve(*([],)), [0, 0, 0, 0])\ncheck('regression 6', solve(*([[], [0, 0], []],)), [2, 0, 0, 0])\ncheck('regression 7', solve(*([[1, 2], [], [3, 4]],)), [4, 4, 4, 4])\ncheck('regression 8', solve(*([[-1, 2, 3], [4, -1], [-2, 1]],)), [7, 0, 1, 3])\ncheck('regression 9', solve(*([[0], [1, 1, 1], [1, 0]],)), [6, 0, 0, 4])\ncheck(\"variable positive run\",solve([[1]*N,[2]*N+[0]]),[2*N+1,2*N,0,2*N])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"f923fd30a0343c659663f525de8708c6714556a8c5ee6b3cd6f0bf8f7eb3354e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nfrom collections import Counter, defaultdict\nimport math\nimport itertools\nN = 1\nobservations = []\ndef solve(blocks):\n    total=0\n    previous=None\n    prefix=suffix=best=0\n    all_positive=True\n    for block in blocks:\n        k=len(block)\n        p=next((i for i,x in enumerate(block) if x<=0),k)\n        s=next((i for i,x in enumerate(reversed(block)) if x<=0),k)\n        local=run=0\n        for x in block:\n            run=run+1 if x>0 else 0\n            local=max(local,run)\n        best=max(best,local,suffix+p)\n        if all_positive: prefix+=p\n        suffix=0 if k==0 else (suffix+k if s==k else s)\n        all_positive=all_positive and p==k\n        total+=k\n    return [total,prefix,suffix,best]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('regression 1', solve(*([[1, 1, 0, 1, 1, 0]],)), [6, 2, 0, 2])\ncheck('regression 2', solve(*([[1, 0, 1, 0, 1, 1, 0]],)), [7, 1, 0, 2])\ncheck('regression 3', solve(*([[1, 2], [3, 0, 4]],)), [5, 3, 1, 3])\ncheck('regression 4', solve(*([[1, 0, 2], [3, 4, -1, 5]],)), [7, 1, 1, 3])\ncheck('regression 5', solve(*([],)), [0, 0, 0, 0])\ncheck('regression 6', solve(*([[], [0, 0], []],)), [2, 0, 0, 0])\ncheck('regression 7', solve(*([[1, 2], [], [3, 4]],)), [4, 4, 4, 4])\ncheck('regression 8', solve(*([[-1, 2, 3], [4, -1], [-2, 1]],)), [7, 0, 1, 3])\ncheck('regression 9', solve(*([[0], [1, 1, 1], [1, 0]],)), [6, 0, 0, 4])\ncheck(\"variable positive run\",solve([[1]*N,[2]*N+[0]]),[2*N+1,2*N,0,2*N])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"dd6d50270aaa436369bc50b1b751995ab08b42b558a8b268f92e74559b1aba29","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nfrom collections import Counter, defaultdict\nimport math\nimport itertools\nN = 1\nobservations = []\ndef solve(blocks):\n    total=0\n    previous=None\n    prefix=suffix=best=0\n    all_positive=True\n    for block in blocks:\n        k=len(block)\n        p=next((i for i,x in enumerate(block) if x<=0),k)\n        s=next((i for i,x in enumerate(reversed(block)) if x<=0),k)\n        local=run=0\n        for x in block:\n            run=run+1 if x>0 else 0\n            local=max(local,run)\n        best=max(best,local,suffix+p)\n        if all_positive: prefix+=p\n        suffix=suffix+k if s==k else s\n        all_positive=all_positive and p==k\n        total+=k\n    return [total,prefix,suffix,best]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('regression 1', solve(*([[1, 1, 0, 1, 1, 0]],)), [6, 2, 0, 2])\ncheck('regression 2', solve(*([[1, 0, 1, 0, 1, 1, 0]],)), [7, 1, 0, 2])\ncheck('regression 3', solve(*([[1, 2], [3, 0, 4]],)), [5, 3, 1, 3])\ncheck('regression 4', solve(*([[1, 0, 2], [3, 4, -1, 5]],)), [7, 1, 1, 3])\ncheck('regression 5', solve(*([],)), [0, 0, 0, 0])\ncheck('regression 6', solve(*([[], [0, 0], []],)), [2, 0, 0, 0])\ncheck('regression 7', solve(*([[1, 2], [], [3, 4]],)), [4, 4, 4, 4])\ncheck('regression 8', solve(*([[-1, 2, 3], [4, -1], [-2, 1]],)), [7, 0, 1, 3])\ncheck('regression 9', solve(*([[0], [1, 1, 1], [1, 0]],)), [6, 0, 0, 4])\ncheck(\"variable positive run\",solve([[1]*N,[2]*N+[0]]),[2*N+1,2*N,0,2*N])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-numerical-aggregation-positive-run-block-summary-empty-block-run-reset","generated_at":"2026-09-29T14:39:04.947965+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Exact bounded examples isolate a reduction defect without floating-point or external-service effects.","repair":"Preserve the positive run block summary contract at the identified reduction decision.","root_cause":"An empty block clears the ongoing suffix.","sha256":"bacd5a5da2b92df4e91a53a109756099ea18b53692b842e0b220e92e29270003","title":"Positive run block summary: An empty block clears the ongoing suffix. · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":46.499,"exit_code":1,"observations":[{"actual":[6,2,0,2],"check":"regression 1","expected":[6,2,0,2],"passed":true},{"actual":[7,1,0,2],"check":"regression 2","expected":[7,1,0,2],"passed":true},{"actual":[5,3,1,3],"check":"regression 3","expected":[5,3,1,3],"passed":true},{"actual":[7,1,1,3],"check":"regression 4","expected":[7,1,1,3],"passed":true},{"actual":[0,0,0,0],"check":"regression 5","expected":[0,0,0,0],"passed":true},{"actual":[2,0,0,0],"check":"regression 6","expected":[2,0,0,0],"passed":true},{"actual":[4,4,2,2],"check":"regression 7","expected":[4,4,4,4],"passed":false},{"actual":[7,0,0,2],"check":"regression 8","expected":[7,0,1,3],"passed":false},{"actual":[6,0,0,4],"check":"regression 9","expected":[6,0,0,4],"passed":true},{"actual":[3,2,0,2],"check":"variable positive run","expected":[3,2,0,2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 1\", \"actual\": [6, 2, 0, 2], \"expected\": [6, 2, 0, 2], \"passed\": true}, {\"check\": \"regression 2\", \"actual\": [7, 1, 0, 2], \"expected\": [7, 1, 0, 2], \"passed\": true}, {\"check\": \"regression 3\", \"actual\": [5, 3, 1, 3], \"expected\": [5, 3, 1, 3], \"passed\": true}, {\"check\": \"regression 4\", \"actual\": [7, 1, 1, 3], \"expected\": [7, 1, 1, 3], \"passed\": true}, {\"check\": \"regression 5\", \"actual\": [0, 0, 0, 0], \"expected\": [0, 0, 0, 0], \"passed\": true}, {\"check\": \"regression 6\", \"actual\": [2, 0, 0, 0], \"expected\": [2, 0, 0, 0], \"passed\": true}, {\"check\": \"regression 7\", \"actual\": [4, 4, 2, 2], \"expected\": [4, 4, 4, 4], \"passed\": false}, {\"check\": \"regression 8\", \"actual\": [7, 0, 0, 2], \"expected\": [7, 0, 1, 3], \"passed\": false}, {\"check\": \"regression 9\", \"actual\": [6, 0, 0, 4], \"expected\": [6, 0, 0, 4], \"passed\": true}, {\"check\": \"variable positive run\", \"actual\": [3, 2, 0, 2], \"expected\": [3, 2, 0, 2], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.877,"exit_code":1,"observations":[{"actual":[6,2,0,2],"check":"regression 1","expected":[6,2,0,2],"passed":true},{"actual":[7,1,0,2],"check":"regression 2","expected":[7,1,0,2],"passed":true},{"actual":[5,3,1,3],"check":"regression 3","expected":[5,3,1,3],"passed":true},{"actual":[7,1,1,3],"check":"regression 4","expected":[7,1,1,3],"passed":true},{"actual":[0,0,0,0],"check":"regression 5","expected":[0,0,0,0],"passed":true},{"actual":[2,0,0,0],"check":"regression 6","expected":[2,0,0,0],"passed":true},{"actual":[4,4,2,2],"check":"regression 7","expected":[4,4,4,4],"passed":false},{"actual":[7,0,1,3],"check":"regression 8","expected":[7,0,1,3],"passed":true},{"actual":[6,0,0,4],"check":"regression 9","expected":[6,0,0,4],"passed":true},{"actual":[3,2,0,2],"check":"variable positive run","expected":[3,2,0,2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 1\", \"actual\": [6, 2, 0, 2], \"expected\": [6, 2, 0, 2], \"passed\": true}, {\"check\": \"regression 2\", \"actual\": [7, 1, 0, 2], \"expected\": [7, 1, 0, 2], \"passed\": true}, {\"check\": \"regression 3\", \"actual\": [5, 3, 1, 3], \"expected\": [5, 3, 1, 3], \"passed\": true}, {\"check\": \"regression 4\", \"actual\": [7, 1, 1, 3], \"expected\": [7, 1, 1, 3], \"passed\": true}, {\"check\": \"regression 5\", \"actual\": [0, 0, 0, 0], \"expected\": [0, 0, 0, 0], \"passed\": true}, {\"check\": \"regression 6\", \"actual\": [2, 0, 0, 0], \"expected\": [2, 0, 0, 0], \"passed\": true}, {\"check\": \"regression 7\", \"actual\": [4, 4, 2, 2], \"expected\": [4, 4, 4, 4], \"passed\": false}, {\"check\": \"regression 8\", \"actual\": [7, 0, 1, 3], \"expected\": [7, 0, 1, 3], \"passed\": true}, {\"check\": \"regression 9\", \"actual\": [6, 0, 0, 4], \"expected\": [6, 0, 0, 4], \"passed\": true}, {\"check\": \"variable positive run\", \"actual\": [3, 2, 0, 2], \"expected\": [3, 2, 0, 2], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.304,"exit_code":0,"observations":[{"actual":[6,2,0,2],"check":"regression 1","expected":[6,2,0,2],"passed":true},{"actual":[7,1,0,2],"check":"regression 2","expected":[7,1,0,2],"passed":true},{"actual":[5,3,1,3],"check":"regression 3","expected":[5,3,1,3],"passed":true},{"actual":[7,1,1,3],"check":"regression 4","expected":[7,1,1,3],"passed":true},{"actual":[0,0,0,0],"check":"regression 5","expected":[0,0,0,0],"passed":true},{"actual":[2,0,0,0],"check":"regression 6","expected":[2,0,0,0],"passed":true},{"actual":[4,4,4,4],"check":"regression 7","expected":[4,4,4,4],"passed":true},{"actual":[7,0,1,3],"check":"regression 8","expected":[7,0,1,3],"passed":true},{"actual":[6,0,0,4],"check":"regression 9","expected":[6,0,0,4],"passed":true},{"actual":[3,2,0,2],"check":"variable positive run","expected":[3,2,0,2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 1\", \"actual\": [6, 2, 0, 2], \"expected\": [6, 2, 0, 2], \"passed\": true}, {\"check\": \"regression 2\", \"actual\": [7, 1, 0, 2], \"expected\": [7, 1, 0, 2], \"passed\": true}, {\"check\": \"regression 3\", \"actual\": [5, 3, 1, 3], \"expected\": [5, 3, 1, 3], \"passed\": true}, {\"check\": \"regression 4\", \"actual\": [7, 1, 1, 3], \"expected\": [7, 1, 1, 3], \"passed\": true}, {\"check\": \"regression 5\", \"actual\": [0, 0, 0, 0], \"expected\": [0, 0, 0, 0], \"passed\": true}, {\"check\": \"regression 6\", \"actual\": [2, 0, 0, 0], \"expected\": [2, 0, 0, 0], \"passed\": true}, {\"check\": \"regression 7\", \"actual\": [4, 4, 4, 4], \"expected\": [4, 4, 4, 4], \"passed\": true}, {\"check\": \"regression 8\", \"actual\": [7, 0, 1, 3], \"expected\": [7, 0, 1, 3], \"passed\": true}, {\"check\": \"regression 9\", \"actual\": [6, 0, 0, 4], \"expected\": [6, 0, 0, 4], \"passed\": true}, {\"check\": \"variable positive run\", \"actual\": [3, 2, 0, 2], \"expected\": [3, 2, 0, 2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}