FAILURE MAP
← Case archive

FA-97166 / Recipe scaling and nutrition / Open access

Nutrient content claim screener: stricter of two bases · case 01

A 40 g serving of a small-RACC food qualifies for low fat on its diluted per-50 g figure alone.

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

ROOT CAUSE

The per-50 g value replaces the per-serving value instead of taking the stricter of the two.

VERIFIED REPAIR

Judge small-RACC foods on the larger of per serving and per 50 g.

Unsuccessful approach: min() picks the more lenient basis.

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 = 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: stricter of two bases', [{'fat': 1, 'fiber': 5, 'sodium': 4.9, 'sugars': 2}, 240, 20],
   ['high fiber', 'low fat', 'sodium free']],
  ['repair check: stricter of two bases', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 100, 'sugars': 0.5}, 15, 20],
   ['good source of fiber']],
  ['generated control 1', [{'fat': 0, 'fiber': 0, 'sodium': 100, 'sugars': 2}, 28, 50],
   ['fat free', 'low sodium']],
  ['generated control 2', [{'sodium': 5, 'sugars': 0.5}, 10, 15], ['fat free', 'very low sodium']],
  ['generated control 3', [{'fat': 0, 'sodium': 4.9}, 100, 15], ['fat free', '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: stricter of two bases', [{'fat': 0, 'fiber': 1, 'sodium': 35, 'sugars': 0.5}, 55, 15],
   ['fat free', 'very low sodium']],
  ['repair check: stricter of two bases', [{'fat': 0, 'fiber': 4.9, 'sodium': 30, 'sugars': 2}, 20, 15],
   ['fat free', 'good source of fiber', 'low sodium']],
  ['generated control 1', [{'fat': 4, 'sugars': 2}, 10, 20], ['sodium free']],
  ['generated control 2', [{'fat': 0, 'fiber': 4.9, 'sodium': 36}, 40, 240],
   ['fat free', 'good source of fiber', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 0.3, 'fiber': 4.9, 'sodium': 100, 'sugars': 2}, 30, 20],
   ['good source of fiber', 'low fat']]],
 [['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: stricter of two bases', [{'fat': 0.3, 'sodium': 141, 'sugars': 2}, 100, 30], ['fat free']],
  ['repair check: stricter of two bases', [{'fat': 1, 'fiber': 2.5, 'sodium': 4.9, 'sugars': 0}, 15, 15],
   ['good source of fiber', 'sugar free', 'very low sodium']],
  ['generated control 1', [{'fat': 3, 'fiber': 0}, 30, 15], ['sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 0, 'fiber': 6, 'sodium': 100, 'sugars': 0}, 15, 15],
   ['fat free', 'high fiber', 'sugar free']],
  ['generated control 3', [{'fat': 2.5, 'fiber': 0, 'sodium': 141, 'sugars': 0.2}, 10, 40],
   ['low fat', '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']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['regression: stricter of two bases', [{'fat': 0.5, 'fiber': 2.5, 'sodium': 140, 'sugars': 0.4}, 55, 15],
   ['good source of fiber', 'low fat', 'low sodium', 'sugar free']],
  ['repair check: stricter of two bases', [{'sodium': 140, 'sugars': 2}, 20, 15], ['fat free']],
  ['generated control 1', [{'fat': 2.5, 'fiber': 3, 'sodium': 141, 'sugars': 0.2}, 55, 40],
   ['good source of fiber', 'low fat', 'sugar free']],
  ['generated control 2', [{'fat': 1, 'fiber': 5, 'sodium': 36}, 40, 31],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fiber': 3, 'sodium': 36, 'sugars': 0.4}, 10, 40],
   ['fat free', 'good source of fiber', 'low sodium', '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']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: stricter of two bases', [{'fat': 0, 'fiber': 0, 'sodium': 36, 'sugars': 2}, 240, 20],
   ['fat free', 'low sodium']],
  ['repair check: stricter of two bases', [{'fat': 4, 'fiber': 0, 'sodium': 3, 'sugars': 0.2}, 10, 15],
   ['very low sodium']],
  ['generated control 1', [{'sodium': 4.9, 'sugars': 0}, 15, 31], ['fat free', 'sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 0.5, 'sodium': 4.9}, 55, 40], ['low fat', 'sodium free', 'sugar free']],
  ['generated control 3', [{'fat': 0, 'fiber': 5, 'sodium': 3, 'sugars': 0.4}, 100, 20],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']]]]
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: stricter of two bases['fat free', 'high fiber', 'sodium free', 'sugar free']['high fiber', 'low fat', 'sodium free']Failed
repair check: stricter of two bases['good source of fiber']['good source of fiber']Passed
generated control 1['fat free', 'low sodium']['fat free', 'low sodium']Passed
generated control 2['fat free', 'very low sodium']['fat free', 'very low sodium']Passed
generated control 3['fat free', 'sodium free', 'sugar free']['fat free', 'sodium free', 'sugar free']Passed

SHA-256 / babfcf476fad5b4e4e7a8f512611b5df6727b7673c2d0d72af07f265663ced9f

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 = min(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: stricter of two bases', [{'fat': 1, 'fiber': 5, 'sodium': 4.9, 'sugars': 2}, 240, 20],
   ['high fiber', 'low fat', 'sodium free']],
  ['repair check: stricter of two bases', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 100, 'sugars': 0.5}, 15, 20],
   ['good source of fiber']],
  ['generated control 1', [{'fat': 0, 'fiber': 0, 'sodium': 100, 'sugars': 2}, 28, 50],
   ['fat free', 'low sodium']],
  ['generated control 2', [{'sodium': 5, 'sugars': 0.5}, 10, 15], ['fat free', 'very low sodium']],
  ['generated control 3', [{'fat': 0, 'sodium': 4.9}, 100, 15], ['fat free', '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: stricter of two bases', [{'fat': 0, 'fiber': 1, 'sodium': 35, 'sugars': 0.5}, 55, 15],
   ['fat free', 'very low sodium']],
  ['repair check: stricter of two bases', [{'fat': 0, 'fiber': 4.9, 'sodium': 30, 'sugars': 2}, 20, 15],
   ['fat free', 'good source of fiber', 'low sodium']],
  ['generated control 1', [{'fat': 4, 'sugars': 2}, 10, 20], ['sodium free']],
  ['generated control 2', [{'fat': 0, 'fiber': 4.9, 'sodium': 36}, 40, 240],
   ['fat free', 'good source of fiber', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 0.3, 'fiber': 4.9, 'sodium': 100, 'sugars': 2}, 30, 20],
   ['good source of fiber', 'low fat']]],
 [['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: stricter of two bases', [{'fat': 0.3, 'sodium': 141, 'sugars': 2}, 100, 30], ['fat free']],
  ['repair check: stricter of two bases', [{'fat': 1, 'fiber': 2.5, 'sodium': 4.9, 'sugars': 0}, 15, 15],
   ['good source of fiber', 'sugar free', 'very low sodium']],
  ['generated control 1', [{'fat': 3, 'fiber': 0}, 30, 15], ['sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 0, 'fiber': 6, 'sodium': 100, 'sugars': 0}, 15, 15],
   ['fat free', 'high fiber', 'sugar free']],
  ['generated control 3', [{'fat': 2.5, 'fiber': 0, 'sodium': 141, 'sugars': 0.2}, 10, 40],
   ['low fat', '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']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['regression: stricter of two bases', [{'fat': 0.5, 'fiber': 2.5, 'sodium': 140, 'sugars': 0.4}, 55, 15],
   ['good source of fiber', 'low fat', 'low sodium', 'sugar free']],
  ['repair check: stricter of two bases', [{'sodium': 140, 'sugars': 2}, 20, 15], ['fat free']],
  ['generated control 1', [{'fat': 2.5, 'fiber': 3, 'sodium': 141, 'sugars': 0.2}, 55, 40],
   ['good source of fiber', 'low fat', 'sugar free']],
  ['generated control 2', [{'fat': 1, 'fiber': 5, 'sodium': 36}, 40, 31],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fiber': 3, 'sodium': 36, 'sugars': 0.4}, 10, 40],
   ['fat free', 'good source of fiber', 'low sodium', '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']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: stricter of two bases', [{'fat': 0, 'fiber': 0, 'sodium': 36, 'sugars': 2}, 240, 20],
   ['fat free', 'low sodium']],
  ['repair check: stricter of two bases', [{'fat': 4, 'fiber': 0, 'sodium': 3, 'sugars': 0.2}, 10, 15],
   ['very low sodium']],
  ['generated control 1', [{'sodium': 4.9, 'sugars': 0}, 15, 31], ['fat free', 'sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 0.5, 'sodium': 4.9}, 55, 40], ['low fat', 'sodium free', 'sugar free']],
  ['generated control 3', [{'fat': 0, 'fiber': 5, 'sodium': 3, 'sugars': 0.4}, 100, 20],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']]]]
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: stricter of two bases['fat free', 'high fiber', 'sodium free', 'sugar free']['high fiber', 'low fat', 'sodium free']Failed
repair check: stricter of two bases['good source of fiber', 'low fat', 'low sodium']['good source of fiber']Failed
generated control 1['fat free', 'low sodium']['fat free', 'low sodium']Passed
generated control 2['fat free', 'very low sodium']['fat free', 'very low sodium']Passed
generated control 3['fat free', 'sodium free', 'sugar free']['fat free', 'sodium free', 'sugar free']Passed

SHA-256 / c98b5098676777da8fed06da08825b1afc89e7e20721ae6c489dffde42603d73

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: stricter of two bases', [{'fat': 1, 'fiber': 5, 'sodium': 4.9, 'sugars': 2}, 240, 20],
   ['high fiber', 'low fat', 'sodium free']],
  ['repair check: stricter of two bases', [{'fat': 2.5, 'fiber': 4.9, 'sodium': 100, 'sugars': 0.5}, 15, 20],
   ['good source of fiber']],
  ['generated control 1', [{'fat': 0, 'fiber': 0, 'sodium': 100, 'sugars': 2}, 28, 50],
   ['fat free', 'low sodium']],
  ['generated control 2', [{'sodium': 5, 'sugars': 0.5}, 10, 15], ['fat free', 'very low sodium']],
  ['generated control 3', [{'fat': 0, 'sodium': 4.9}, 100, 15], ['fat free', '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: stricter of two bases', [{'fat': 0, 'fiber': 1, 'sodium': 35, 'sugars': 0.5}, 55, 15],
   ['fat free', 'very low sodium']],
  ['repair check: stricter of two bases', [{'fat': 0, 'fiber': 4.9, 'sodium': 30, 'sugars': 2}, 20, 15],
   ['fat free', 'good source of fiber', 'low sodium']],
  ['generated control 1', [{'fat': 4, 'sugars': 2}, 10, 20], ['sodium free']],
  ['generated control 2', [{'fat': 0, 'fiber': 4.9, 'sodium': 36}, 40, 240],
   ['fat free', 'good source of fiber', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fat': 0.3, 'fiber': 4.9, 'sodium': 100, 'sugars': 2}, 30, 20],
   ['good source of fiber', 'low fat']]],
 [['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: stricter of two bases', [{'fat': 0.3, 'sodium': 141, 'sugars': 2}, 100, 30], ['fat free']],
  ['repair check: stricter of two bases', [{'fat': 1, 'fiber': 2.5, 'sodium': 4.9, 'sugars': 0}, 15, 15],
   ['good source of fiber', 'sugar free', 'very low sodium']],
  ['generated control 1', [{'fat': 3, 'fiber': 0}, 30, 15], ['sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 0, 'fiber': 6, 'sodium': 100, 'sugars': 0}, 15, 15],
   ['fat free', 'high fiber', 'sugar free']],
  ['generated control 3', [{'fat': 2.5, 'fiber': 0, 'sodium': 141, 'sugars': 0.2}, 10, 40],
   ['low fat', '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']],
  ['small serving per 50 g', [{'fat': 1, 'fiber': 1, 'sodium': 30, 'sugars': 0.2}, 15, 15], ['low sodium']],
  ['regression: stricter of two bases', [{'fat': 0.5, 'fiber': 2.5, 'sodium': 140, 'sugars': 0.4}, 55, 15],
   ['good source of fiber', 'low fat', 'low sodium', 'sugar free']],
  ['repair check: stricter of two bases', [{'sodium': 140, 'sugars': 2}, 20, 15], ['fat free']],
  ['generated control 1', [{'fat': 2.5, 'fiber': 3, 'sodium': 141, 'sugars': 0.2}, 55, 40],
   ['good source of fiber', 'low fat', 'sugar free']],
  ['generated control 2', [{'fat': 1, 'fiber': 5, 'sodium': 36}, 40, 31],
   ['high fiber', 'low fat', 'low sodium', 'sugar free']],
  ['generated control 3', [{'fiber': 3, 'sodium': 36, 'sugars': 0.4}, 10, 40],
   ['fat free', 'good source of fiber', 'low sodium', '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']],
  ['racc exactly 30', [{'fat': 2, 'sodium': 100}, 20, 30], ['sugar free']],
  ['regression: stricter of two bases', [{'fat': 0, 'fiber': 0, 'sodium': 36, 'sugars': 2}, 240, 20],
   ['fat free', 'low sodium']],
  ['repair check: stricter of two bases', [{'fat': 4, 'fiber': 0, 'sodium': 3, 'sugars': 0.2}, 10, 15],
   ['very low sodium']],
  ['generated control 1', [{'sodium': 4.9, 'sugars': 0}, 15, 31], ['fat free', 'sodium free', 'sugar free']],
  ['generated control 2', [{'fat': 0.5, 'sodium': 4.9}, 55, 40], ['low fat', 'sodium free', 'sugar free']],
  ['generated control 3', [{'fat': 0, 'fiber': 5, 'sodium': 3, 'sugars': 0.4}, 100, 20],
   ['fat free', 'high fiber', 'sodium free', 'sugar free']]]]
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: stricter of two bases['high fiber', 'low fat', 'sodium free']['high fiber', 'low fat', 'sodium free']Passed
repair check: stricter of two bases['good source of fiber']['good source of fiber']Passed
generated control 1['fat free', 'low sodium']['fat free', 'low sodium']Passed
generated control 2['fat free', 'very low sodium']['fat free', 'very low sodium']Passed
generated control 3['fat free', 'sodium free', 'sugar free']['fat free', 'sodium free', 'sugar free']Passed

SHA-256 / 58176e25a1750b62e54f737a4ffd8b77fb54f5e573060e3354f2411366fd1b93

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

Case digest / e60011cb020ebdf98552a14f348ebbacedbfc03b3c0bf836c5a6da4332878cf7