FA-14201 / Numerical aggregation / Open access
Group balanced squared loss: Within-group loss totals are not normalized by group sizes. · case 01
The reduction disagrees with its explicit aggregation oracle.
ROOT CAUSE
Within-group loss totals are not normalized by group sizes.
VERIFIED REPAIR
Preserve the group balanced squared loss contract at the identified reduction decision.
Unsuccessful approach: Dividing each total by number of groups uses the wrong inner population.
Case contract
Rows [group label, integer residual or None] are reduced into mean squared residual per group, then arithmetic mean across observed groups. Missing residuals contribute neither count nor group presence; group labels are case-sensitive. Empty observed population returns None. Exact Fraction string.
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(rows):
groups={}
for label,error in rows:
if error is None: continue
groups.setdefault(label,[]).append(error)
if not groups: return None
means=[Fraction(sum(e*e for e in values)) for values in groups.values()]
return str(sum(means)/len(means))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([('a', 1), ('a', 2), ('b', 4)],)), '37/4')
check('regression 2', solve(*([('a', 1), ('a', 3), ('b', 4)],)), '21/2')
check('regression 3', solve(*([],)), None)
check('regression 4', solve(*([('a', None), ('b', None)],)), None)
check('regression 5', solve(*([('a', 0), ('a', 2), ('b', -3), ('b', 1)],)), '7/2')
check('regression 6', solve(*([('a', 1), ('b', 2), ('b', 2), ('b', 2)],)), '5/2')
check('regression 7', solve(*([('a', None), ('a', 2), ('b', 4)],)), '10')
check('regression 8', solve(*([('A', 1), ('a', 4), ('B', 2)],)), '7')
check("variable group balance",solve([("a",N),("a",-N),("b",2*N)]),str(Fraction(5*N*N,2)))
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression 1 | 21/2 | 37/4 | Failed |
| regression 2 | 13 | 21/2 | Failed |
| regression 3 | None | None | Passed |
| regression 4 | None | None | Passed |
| regression 5 | 7 | 7/2 | Failed |
| regression 6 | 13/2 | 5/2 | Failed |
| regression 7 | 10 | 10 | Passed |
| regression 8 | 7 | 7 | Passed |
| variable group balance | 3 | 5/2 | Failed |
SHA-256 / c6a0d048cd68b2c0dfcf66fb4b66057350348a2cec94d30c40115948e8f6e868
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(rows):
groups={}
for label,error in rows:
if error is None: continue
groups.setdefault(label,[]).append(error)
if not groups: return None
means=[Fraction(sum(e*e for e in values),len(groups)) for values in groups.values()]
return str(sum(means)/len(means))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([('a', 1), ('a', 2), ('b', 4)],)), '37/4')
check('regression 2', solve(*([('a', 1), ('a', 3), ('b', 4)],)), '21/2')
check('regression 3', solve(*([],)), None)
check('regression 4', solve(*([('a', None), ('b', None)],)), None)
check('regression 5', solve(*([('a', 0), ('a', 2), ('b', -3), ('b', 1)],)), '7/2')
check('regression 6', solve(*([('a', 1), ('b', 2), ('b', 2), ('b', 2)],)), '5/2')
check('regression 7', solve(*([('a', None), ('a', 2), ('b', 4)],)), '10')
check('regression 8', solve(*([('A', 1), ('a', 4), ('B', 2)],)), '7')
check("variable group balance",solve([("a",N),("a",-N),("b",2*N)]),str(Fraction(5*N*N,2)))
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression 1 | 21/4 | 37/4 | Failed |
| regression 2 | 13/2 | 21/2 | Failed |
| regression 3 | None | None | Passed |
| regression 4 | None | None | Passed |
| regression 5 | 7/2 | 7/2 | Passed |
| regression 6 | 13/4 | 5/2 | Failed |
| regression 7 | 5 | 10 | Failed |
| regression 8 | 7/3 | 7 | Failed |
| variable group balance | 3/2 | 5/2 | Failed |
SHA-256 / 7bbae5097c065a599d018d4b40efe509c6f70cb8404a6a52930d97c4b6de8e47
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(rows):
groups={}
for label,error in rows:
if error is None: continue
groups.setdefault(label,[]).append(error)
if not groups: return None
means=[Fraction(sum(e*e for e in values),len(values)) for values in groups.values()]
return str(sum(means)/len(means))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([('a', 1), ('a', 2), ('b', 4)],)), '37/4')
check('regression 2', solve(*([('a', 1), ('a', 3), ('b', 4)],)), '21/2')
check('regression 3', solve(*([],)), None)
check('regression 4', solve(*([('a', None), ('b', None)],)), None)
check('regression 5', solve(*([('a', 0), ('a', 2), ('b', -3), ('b', 1)],)), '7/2')
check('regression 6', solve(*([('a', 1), ('b', 2), ('b', 2), ('b', 2)],)), '5/2')
check('regression 7', solve(*([('a', None), ('a', 2), ('b', 4)],)), '10')
check('regression 8', solve(*([('A', 1), ('a', 4), ('B', 2)],)), '7')
check("variable group balance",solve([("a",N),("a",-N),("b",2*N)]),str(Fraction(5*N*N,2)))
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression 1 | 37/4 | 37/4 | Passed |
| regression 2 | 21/2 | 21/2 | Passed |
| regression 3 | None | None | Passed |
| regression 4 | None | None | Passed |
| regression 5 | 7/2 | 7/2 | Passed |
| regression 6 | 5/2 | 5/2 | Passed |
| regression 7 | 10 | 10 | Passed |
| regression 8 | 7 | 7 | Passed |
| variable group balance | 5/2 | 5/2 | Passed |
SHA-256 / 37d21a2cc900138bb57366e9a3e5fcf9a8544a6c56d61385583ab74a4b2e6dd8
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:14.444413+00:00.
Case digest / d2d551174bef7a5888ab889dbb3010015994ee23b95f5d0b9a0ee453fc79fe90