FAILURE MAP
← Case archive

FA-97161 / Recipe scaling and nutrition / Open access

Nutrient content claim screener: per-50 g scaling · case 01

A 15 g cracker serving with 30 mg sodium is judged at 9 mg per 50 g.

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

ROOT CAUSE

The per-50 g amount multiplies by the serving weight instead of dividing by it.

VERIFIED REPAIR

Scale by 50/serving_g.

Unsuccessful approach: Scaling by the reference amount ignores the actual labelled serving weight.

Case contract

Toy claim rules. If racc_g <= 30 (small reference amount), sodium, fat and sugars are judged on max(per serving, per 50 g) where per 50 g = value*50/serving_g. Sodium: <5 "sodium free", else <=35 "very low sodium", else <=140 "low sodium" (one claim). Fat: <0.5 "fat free", else <=3 "low fat". Fiber judged per serving only: >=5 "high fiber", else >=2.5 "good source of fiber". Sugars <0.5 "sugar free". Missing nutrients count as 0. Return sorted claims.

Why this case matters

Front-of-pack claims depend on per-serving and small-serving reference amount rules.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(per_serving, serving_g, racc_g):
    small = racc_g <= 30
    def basis(k):
        v = Fraction(str(per_serving.get(k, 0)))
        if small:
            v = max(v, v * Fraction(str(serving_g)) / 50)
        return v
    claims = []
    na = basis('sodium')
    if na < 5:
        claims.append('sodium free')
    elif na <= 35:
        claims.append('very low sodium')
    elif na <= 140:
        claims.append('low sodium')
    fat = basis('fat')
    if fat < Fraction(1, 2):
        claims.append('fat free')
    elif fat <= 3:
        claims.append('low fat')
    fib = Fraction(str(per_serving.get('fiber', 0)))
    if fib >= 5:
        claims.append('high fiber')
    elif fib >= Fraction(5, 2):
        claims.append('good source of fiber')
    if basis('sugars') < Fraction(1, 2):
        claims.append('sugar free')
    return sorted(claims)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: per-50 g scaling', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 0, 'sugars': 0.4}, 30, 15],
   ['good source of fiber', 'sodium free']],
  ['repair check: per-50 g scaling', [{'fat': 0, 'fiber': 5, 'sugars': 0.4}, 240, 30],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fat': 0.5, 'fiber': 4.9, 'sodium': 141, 'sugars': 0.2}, 20, 40],
   ['good source of fiber', 'low fat', 'sugar free']],
  ['generated control 2', [{'fat': 4, 'fiber': 0, 'sodium': 100}, 28, 40], ['low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 1, 'fiber': 6, 'sugars': 0.2}, 240, 31],
   ['high fiber', 'low fat', 'sodium free', 'sugar free']]],
 [['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'fiber': 6, 'sodium': 100, 'sugars': 0}, 10, 20],
   ['high fiber', 'sugar free']],
  ['repair check: per-50 g scaling', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 0, 'sugars': 2}, 240, 30],
   ['good source of fiber', 'low fat', 'sodium free']],
  ['generated control 1', [{'fat': 0, 'fiber': 5, 'sodium': 35, 'sugars': 0.2}, 40, 240],
   ['fat free', 'high fiber', 'sugar free', 'very low sodium']],
  ['generated control 2', [{'fat': 1, 'fiber': 4.9, 'sodium': 5, 'sugars': 0.5}, 240, 20],
   ['good source of fiber', 'low fat', 'very low sodium']],
  ['generated control 3', [{'fiber': 4.9, 'sodium': 3, 'sugars': 0}, 15, 240],
   ['fat free', 'good source of fiber', 'sodium free', 'sugar free']]],
 [['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'sodium': 5, 'sugars': 0.2}, 10, 20], ['very low sodium']],
  ['repair check: per-50 g scaling', [{'fat': 0, 'fiber': 6, 'sodium': 4.9, 'sugars': 0}, 55, 20],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fat': 1, 'fiber': 2.5, 'sodium': 36, 'sugars': 0.4}, 40, 240],
   ['good source of fiber', 'low fat', 'low sodium', 'sugar free']],
  ['generated control 2', [{'sodium': 140, 'sugars': 0.2}, 55, 240],
   ['fat free', 'low sodium', 'sugar free']],
  ['generated control 3', [{'sodium': 35}, 100, 40], ['fat free', 'sugar free', 'very low sodium']]],
 [['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['regression: per-50 g scaling', [{'fat': 3, 'fiber': 1, 'sodium': 5, 'sugars': 2}, 55, 15],
   ['low fat', 'very low sodium']],
  ['repair check: per-50 g scaling', [{'fat': 4, 'fiber': 4.9, 'sodium': 3, 'sugars': 0}, 100, 15],
   ['good source of fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fiber': 6, 'sodium': 0, 'sugars': 0}, 240, 50],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 1, 'fiber': 2.5, 'sodium': 5, 'sugars': 0.5}, 28, 20],
   ['good source of fiber', 'low fat', 'very low sodium']],
  ['generated control 3', [{'fat': 0.5, 'fiber': 5, 'sodium': 36, 'sugars': 2}, 20, 15],
   ['high fiber', 'low fat', 'low sodium']]],
 [['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'fiber': 4.9, 'sodium': 140, 'sugars': 0}, 20, 15],
   ['good source of fiber', 'sugar free']],
  ['repair check: per-50 g scaling', [{'fat': 3, 'fiber': 3, 'sodium': 5, 'sugars': 0.2}, 55, 15],
   ['good source of fiber', 'low fat', 'sugar free', 'very low sodium']],
  ['generated control 1', [{'sodium': 300, 'sugars': 0.5}, 30, 15], ['fat free']],
  ['generated control 2', [{'fat': 3, 'fiber': 0, 'sodium': 140, 'sugars': 0.4}, 240, 240],
   ['low fat', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 0.5, 'fiber': 6, 'sodium': 35}, 55, 40],
   ['high fiber', 'low fat', 'sugar free', 'very low sodium']]]]
for label, args, expected in fixtures[N - 1]:
    check(label, solve(*args), expected)
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
large serving['high fiber', 'low fat', 'low sodium', 'sugar free']['high fiber', 'low fat', 'low sodium', 'sugar free']Passed
small serving per 50 g['low fat', 'sugar free', 'very low sodium']['low sodium']Failed
racc exactly 30['low fat', 'low sodium', 'sugar free']['sugar free']Failed
regression: per-50 g scaling['good source of fiber', 'low fat', 'sodium free', 'sugar free']['good source of fiber', 'sodium free']Failed
repair check: per-50 g scaling['fat free', 'high fiber', 'sodium free']['fat free', 'high fiber', 'sodium free', 'sugar free']Failed
generated control 1['good source of fiber', 'low fat', 'sugar free']['good source of fiber', 'low fat', 'sugar free']Passed
generated control 2['low sodium', 'sugar free']['low sodium', 'sugar free']Passed
generated control 3['high fiber', 'low fat', 'sodium free', 'sugar free']['high fiber', 'low fat', 'sodium free', 'sugar free']Passed

SHA-256 / b6cd95f898aa29f19a6f797e6179a7c6fac89d734c07fb75d9279d289c2437c9

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(per_serving, serving_g, racc_g):
    small = racc_g <= 30
    def basis(k):
        v = Fraction(str(per_serving.get(k, 0)))
        if small:
            v = max(v, v * 50 / racc_g)
        return v
    claims = []
    na = basis('sodium')
    if na < 5:
        claims.append('sodium free')
    elif na <= 35:
        claims.append('very low sodium')
    elif na <= 140:
        claims.append('low sodium')
    fat = basis('fat')
    if fat < Fraction(1, 2):
        claims.append('fat free')
    elif fat <= 3:
        claims.append('low fat')
    fib = Fraction(str(per_serving.get('fiber', 0)))
    if fib >= 5:
        claims.append('high fiber')
    elif fib >= Fraction(5, 2):
        claims.append('good source of fiber')
    if basis('sugars') < Fraction(1, 2):
        claims.append('sugar free')
    return sorted(claims)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: per-50 g scaling', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 0, 'sugars': 0.4}, 30, 15],
   ['good source of fiber', 'sodium free']],
  ['repair check: per-50 g scaling', [{'fat': 0, 'fiber': 5, 'sugars': 0.4}, 240, 30],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fat': 0.5, 'fiber': 4.9, 'sodium': 141, 'sugars': 0.2}, 20, 40],
   ['good source of fiber', 'low fat', 'sugar free']],
  ['generated control 2', [{'fat': 4, 'fiber': 0, 'sodium': 100}, 28, 40], ['low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 1, 'fiber': 6, 'sugars': 0.2}, 240, 31],
   ['high fiber', 'low fat', 'sodium free', 'sugar free']]],
 [['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'fiber': 6, 'sodium': 100, 'sugars': 0}, 10, 20],
   ['high fiber', 'sugar free']],
  ['repair check: per-50 g scaling', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 0, 'sugars': 2}, 240, 30],
   ['good source of fiber', 'low fat', 'sodium free']],
  ['generated control 1', [{'fat': 0, 'fiber': 5, 'sodium': 35, 'sugars': 0.2}, 40, 240],
   ['fat free', 'high fiber', 'sugar free', 'very low sodium']],
  ['generated control 2', [{'fat': 1, 'fiber': 4.9, 'sodium': 5, 'sugars': 0.5}, 240, 20],
   ['good source of fiber', 'low fat', 'very low sodium']],
  ['generated control 3', [{'fiber': 4.9, 'sodium': 3, 'sugars': 0}, 15, 240],
   ['fat free', 'good source of fiber', 'sodium free', 'sugar free']]],
 [['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'sodium': 5, 'sugars': 0.2}, 10, 20], ['very low sodium']],
  ['repair check: per-50 g scaling', [{'fat': 0, 'fiber': 6, 'sodium': 4.9, 'sugars': 0}, 55, 20],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fat': 1, 'fiber': 2.5, 'sodium': 36, 'sugars': 0.4}, 40, 240],
   ['good source of fiber', 'low fat', 'low sodium', 'sugar free']],
  ['generated control 2', [{'sodium': 140, 'sugars': 0.2}, 55, 240],
   ['fat free', 'low sodium', 'sugar free']],
  ['generated control 3', [{'sodium': 35}, 100, 40], ['fat free', 'sugar free', 'very low sodium']]],
 [['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['regression: per-50 g scaling', [{'fat': 3, 'fiber': 1, 'sodium': 5, 'sugars': 2}, 55, 15],
   ['low fat', 'very low sodium']],
  ['repair check: per-50 g scaling', [{'fat': 4, 'fiber': 4.9, 'sodium': 3, 'sugars': 0}, 100, 15],
   ['good source of fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fiber': 6, 'sodium': 0, 'sugars': 0}, 240, 50],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 1, 'fiber': 2.5, 'sodium': 5, 'sugars': 0.5}, 28, 20],
   ['good source of fiber', 'low fat', 'very low sodium']],
  ['generated control 3', [{'fat': 0.5, 'fiber': 5, 'sodium': 36, 'sugars': 2}, 20, 15],
   ['high fiber', 'low fat', 'low sodium']]],
 [['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'fiber': 4.9, 'sodium': 140, 'sugars': 0}, 20, 15],
   ['good source of fiber', 'sugar free']],
  ['repair check: per-50 g scaling', [{'fat': 3, 'fiber': 3, 'sodium': 5, 'sugars': 0.2}, 55, 15],
   ['good source of fiber', 'low fat', 'sugar free', 'very low sodium']],
  ['generated control 1', [{'sodium': 300, 'sugars': 0.5}, 30, 15], ['fat free']],
  ['generated control 2', [{'fat': 3, 'fiber': 0, 'sodium': 140, 'sugars': 0.4}, 240, 240],
   ['low fat', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 0.5, 'fiber': 6, 'sodium': 35}, 55, 40],
   ['high fiber', 'low fat', 'sugar free', 'very low sodium']]]]
for label, args, expected in fixtures[N - 1]:
    check(label, solve(*args), expected)
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
large serving['high fiber', 'low fat', 'low sodium', 'sugar free']['high fiber', 'low fat', 'low sodium', 'sugar free']Passed
small serving per 50 g['low sodium']['low sodium']Passed
racc exactly 30['sugar free']['sugar free']Passed
regression: per-50 g scaling['good source of fiber', 'sodium free']['good source of fiber', 'sodium free']Passed
repair check: per-50 g scaling['fat free', 'high fiber', 'sodium free']['fat free', 'high fiber', 'sodium free', 'sugar free']Failed
generated control 1['good source of fiber', 'low fat', 'sugar free']['good source of fiber', 'low fat', 'sugar free']Passed
generated control 2['low sodium', 'sugar free']['low sodium', 'sugar free']Passed
generated control 3['high fiber', 'low fat', 'sodium free', 'sugar free']['high fiber', 'low fat', 'sodium free', 'sugar free']Passed

SHA-256 / 72fb5b3bc30da4aa53752d1e0f46ddd3387dabd87156f5c4ac43ab8b1e105af8

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(per_serving, serving_g, racc_g):
    small = racc_g <= 30
    def basis(k):
        v = Fraction(str(per_serving.get(k, 0)))
        if small:
            v = max(v, v * 50 / Fraction(str(serving_g)))
        return v
    claims = []
    na = basis('sodium')
    if na < 5:
        claims.append('sodium free')
    elif na <= 35:
        claims.append('very low sodium')
    elif na <= 140:
        claims.append('low sodium')
    fat = basis('fat')
    if fat < Fraction(1, 2):
        claims.append('fat free')
    elif fat <= 3:
        claims.append('low fat')
    fib = Fraction(str(per_serving.get('fiber', 0)))
    if fib >= 5:
        claims.append('high fiber')
    elif fib >= Fraction(5, 2):
        claims.append('good source of fiber')
    if basis('sugars') < Fraction(1, 2):
        claims.append('sugar free')
    return sorted(claims)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: per-50 g scaling', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 0, 'sugars': 0.4}, 30, 15],
   ['good source of fiber', 'sodium free']],
  ['repair check: per-50 g scaling', [{'fat': 0, 'fiber': 5, 'sugars': 0.4}, 240, 30],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fat': 0.5, 'fiber': 4.9, 'sodium': 141, 'sugars': 0.2}, 20, 40],
   ['good source of fiber', 'low fat', 'sugar free']],
  ['generated control 2', [{'fat': 4, 'fiber': 0, 'sodium': 100}, 28, 40], ['low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 1, 'fiber': 6, 'sugars': 0.2}, 240, 31],
   ['high fiber', 'low fat', 'sodium free', 'sugar free']]],
 [['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'fiber': 6, 'sodium': 100, 'sugars': 0}, 10, 20],
   ['high fiber', 'sugar free']],
  ['repair check: per-50 g scaling', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 0, 'sugars': 2}, 240, 30],
   ['good source of fiber', 'low fat', 'sodium free']],
  ['generated control 1', [{'fat': 0, 'fiber': 5, 'sodium': 35, 'sugars': 0.2}, 40, 240],
   ['fat free', 'high fiber', 'sugar free', 'very low sodium']],
  ['generated control 2', [{'fat': 1, 'fiber': 4.9, 'sodium': 5, 'sugars': 0.5}, 240, 20],
   ['good source of fiber', 'low fat', 'very low sodium']],
  ['generated control 3', [{'fiber': 4.9, 'sodium': 3, 'sugars': 0}, 15, 240],
   ['fat free', 'good source of fiber', 'sodium free', 'sugar free']]],
 [['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'sodium': 5, 'sugars': 0.2}, 10, 20], ['very low sodium']],
  ['repair check: per-50 g scaling', [{'fat': 0, 'fiber': 6, 'sodium': 4.9, 'sugars': 0}, 55, 20],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fat': 1, 'fiber': 2.5, 'sodium': 36, 'sugars': 0.4}, 40, 240],
   ['good source of fiber', 'low fat', 'low sodium', 'sugar free']],
  ['generated control 2', [{'sodium': 140, 'sugars': 0.2}, 55, 240],
   ['fat free', 'low sodium', 'sugar free']],
  ['generated control 3', [{'sodium': 35}, 100, 40], ['fat free', 'sugar free', 'very low sodium']]],
 [['empty', [{}, 100, 100], ['fat free', 'sodium free', 'sugar free']],
  ['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['regression: per-50 g scaling', [{'fat': 3, 'fiber': 1, 'sodium': 5, 'sugars': 2}, 55, 15],
   ['low fat', 'very low sodium']],
  ['repair check: per-50 g scaling', [{'fat': 4, 'fiber': 4.9, 'sodium': 3, 'sugars': 0}, 100, 15],
   ['good source of fiber', 'sodium free', 'sugar free']],
  ['generated control 1', [{'fiber': 6, 'sodium': 0, 'sugars': 0}, 240, 50],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 1, 'fiber': 2.5, 'sodium': 5, 'sugars': 0.5}, 28, 20],
   ['good source of fiber', 'low fat', 'very low sodium']],
  ['generated control 3', [{'fat': 0.5, 'fiber': 5, 'sodium': 36, 'sugars': 2}, 20, 15],
   ['high fiber', 'low fat', 'low sodium']]],
 [['large serving', [{'fat': 2, 'fiber': 5, 'sodium': 100, 'sugars': 0}, 240, 240],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: per-50 g scaling', [{'fat': 4, 'fiber': 4.9, 'sodium': 140, 'sugars': 0}, 20, 15],
   ['good source of fiber', 'sugar free']],
  ['repair check: per-50 g scaling', [{'fat': 3, 'fiber': 3, 'sodium': 5, 'sugars': 0.2}, 55, 15],
   ['good source of fiber', 'low fat', 'sugar free', 'very low sodium']],
  ['generated control 1', [{'sodium': 300, 'sugars': 0.5}, 30, 15], ['fat free']],
  ['generated control 2', [{'fat': 3, 'fiber': 0, 'sodium': 140, 'sugars': 0.4}, 240, 240],
   ['low fat', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 0.5, 'fiber': 6, 'sodium': 35}, 55, 40],
   ['high fiber', 'low fat', 'sugar free', 'very low sodium']]]]
for label, args, expected in fixtures[N - 1]:
    check(label, solve(*args), expected)
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
large serving['high fiber', 'low fat', 'low sodium', 'sugar free']['high fiber', 'low fat', 'low sodium', 'sugar free']Passed
small serving per 50 g['low sodium']['low sodium']Passed
racc exactly 30['sugar free']['sugar free']Passed
regression: per-50 g scaling['good source of fiber', 'sodium free']['good source of fiber', 'sodium free']Passed
repair check: per-50 g scaling['fat free', 'high fiber', 'sodium free', 'sugar free']['fat free', 'high fiber', 'sodium free', 'sugar free']Passed
generated control 1['good source of fiber', 'low fat', 'sugar free']['good source of fiber', 'low fat', 'sugar free']Passed
generated control 2['low sodium', 'sugar free']['low sodium', 'sugar free']Passed
generated control 3['high fiber', 'low fat', 'sodium free', 'sugar free']['high fiber', 'low fat', 'sodium free', 'sugar free']Passed

SHA-256 / 6040b853ff723107cd8f60b7bbddbec098fe12e9de7d84667c5569b88ba51c51

Verification & scope

A deterministic toy contract stated in full here; it is a bounded teaching model, not an authoritative reference or standards implementation. 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:52:29.495596+00:00.

Case digest / 9ff56174856ce06cbf8ecc54a6ce1016d068796d03aee3f13ceb17b5d28fa84b