FAILURE MAP
← Case archive

FA-13901 / Numerical aggregation / Open access

Retractable zero aware product: Sign handling bypasses an active zero factor. · case 01

The reduction disagrees with its explicit aggregation oracle.

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

ROOT CAUSE

Sign handling bypasses an active zero factor.

VERIFIED REPAIR

Preserve the retractable zero aware product contract at the identified reduction decision.

Unsuccessful approach: Suppressing zero only for nonnegative state still lets negatives override annihilation.

Case contract

Process add/remove integer factors; each removal removes one currently present equal factor. Return the exact product of active factors with empty product one. Preserve zero multiplicity and signed parity while zero factors temporarily hide the nonzero product.

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(events):
    magnitude=1
    negative=zero=0
    for op,x in events:
        if op=="add":
            if x==0: zero+=1
            else:
                magnitude*=abs(x)
                negative+=int(x<0)
        else:
            if x==0: zero-=1
            else:
                magnitude//=abs(x)
                negative-=int(x<0)
    return -magnitude if negative%2 else (0 if zero else magnitude)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([('add', 0), ('add', 0)],)), 0)
check('regression 2', solve(*([('add', 0), ('add', -3)],)), 0)
check('regression 3', solve(*([('add', -1), ('add', -2), ('add', -3)],)), -6)
check('regression 4', solve(*([('add', 2), ('add', 0), ('add', -3), ('remove', 0)],)), -6)
check('regression 5', solve(*([('add', 0), ('add', 0), ('remove', 0)],)), 0)
check('regression 6', solve(*([],)), 1)
check('regression 7', solve(*([('add', -2), ('add', -3), ('remove', -2)],)), -3)
check('regression 8', solve(*([('add', 3), ('add', 3), ('remove', 3)],)), 3)
check('regression 9', solve(*([('add', -1), ('remove', -1)],)), 1)
check('regression 10', solve(*([('add', -2), ('add', 5), ('add', -3)],)), 30)
check("variable zero removal",solve([("add",N),("add",0),("add",-2),("remove",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 100Passed
regression 2-30Failed
regression 3-6-6Passed
regression 4-6-6Passed
regression 500Passed
regression 611Passed
regression 7-3-3Passed
regression 833Passed
regression 911Passed
regression 103030Passed
variable zero removal-2-2Passed

SHA-256 / e352ae6de73147deb18cc52a3fbbff114f6136baecc49ea9255038ba7328c094

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(events):
    magnitude=1
    negative=zero=0
    for op,x in events:
        if op=="add":
            if x==0: zero+=1
            else:
                magnitude*=abs(x)
                negative+=int(x<0)
        else:
            if x==0: zero-=1
            else:
                magnitude//=abs(x)
                negative-=int(x<0)
    return 0 if zero and not negative else (-magnitude if negative%2 else magnitude)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([('add', 0), ('add', 0)],)), 0)
check('regression 2', solve(*([('add', 0), ('add', -3)],)), 0)
check('regression 3', solve(*([('add', -1), ('add', -2), ('add', -3)],)), -6)
check('regression 4', solve(*([('add', 2), ('add', 0), ('add', -3), ('remove', 0)],)), -6)
check('regression 5', solve(*([('add', 0), ('add', 0), ('remove', 0)],)), 0)
check('regression 6', solve(*([],)), 1)
check('regression 7', solve(*([('add', -2), ('add', -3), ('remove', -2)],)), -3)
check('regression 8', solve(*([('add', 3), ('add', 3), ('remove', 3)],)), 3)
check('regression 9', solve(*([('add', -1), ('remove', -1)],)), 1)
check('regression 10', solve(*([('add', -2), ('add', 5), ('add', -3)],)), 30)
check("variable zero removal",solve([("add",N),("add",0),("add",-2),("remove",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 100Passed
regression 2-30Failed
regression 3-6-6Passed
regression 4-6-6Passed
regression 500Passed
regression 611Passed
regression 7-3-3Passed
regression 833Passed
regression 911Passed
regression 103030Passed
variable zero removal-2-2Passed

SHA-256 / b64d25ec4a86f6438ddb985648fc81106a70aa759386829b9e2dd5dddec5ad67

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(events):
    magnitude=1
    negative=zero=0
    for op,x in events:
        if op=="add":
            if x==0: zero+=1
            else:
                magnitude*=abs(x)
                negative+=int(x<0)
        else:
            if x==0: zero-=1
            else:
                magnitude//=abs(x)
                negative-=int(x<0)
    return 0 if zero else (-magnitude if negative%2 else magnitude)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([('add', 0), ('add', 0)],)), 0)
check('regression 2', solve(*([('add', 0), ('add', -3)],)), 0)
check('regression 3', solve(*([('add', -1), ('add', -2), ('add', -3)],)), -6)
check('regression 4', solve(*([('add', 2), ('add', 0), ('add', -3), ('remove', 0)],)), -6)
check('regression 5', solve(*([('add', 0), ('add', 0), ('remove', 0)],)), 0)
check('regression 6', solve(*([],)), 1)
check('regression 7', solve(*([('add', -2), ('add', -3), ('remove', -2)],)), -3)
check('regression 8', solve(*([('add', 3), ('add', 3), ('remove', 3)],)), 3)
check('regression 9', solve(*([('add', -1), ('remove', -1)],)), 1)
check('regression 10', solve(*([('add', -2), ('add', 5), ('add', -3)],)), 30)
check("variable zero removal",solve([("add",N),("add",0),("add",-2),("remove",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 100Passed
regression 200Passed
regression 3-6-6Passed
regression 4-6-6Passed
regression 500Passed
regression 611Passed
regression 7-3-3Passed
regression 833Passed
regression 911Passed
regression 103030Passed
variable zero removal-2-2Passed

SHA-256 / 1bb442ee98d0bbc1471b2730c04a6948b7095d4fc21edc79a63fefdbe5e00033

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

Case digest / 0d4cfca1418465c580f8ae91c1736837b42bc1c5c356c79185172e6a84d5467b