{"abstract":"\"Flour\" is rejected as an unknown ingredient.","category":"Recipe scaling and nutrition","checks":8,"contract":"Convert amount (fraction string) of cup/tbsp/tsp/ml to grams. 1 cup = 16 tbsp = 48 tsp = 236.5 ml. Grams per cup: flour 120, sugar 200, brown sugar 145 (213 when prefixed \"packed \"), butter 227, honey 340, water 236. Names are trimmed and case-insensitive; a \", sifted\" suffix multiplies density by 9/10. Results below 10 g print one decimal (\"%.1f g\"), otherwise whole grams, both half-up. Unknown ingredient or unit returns an error string.","evaluation_group":"w2-recipe_scaling_and_nutrition-volume-to-mass","failed_approach":"Lower-casing without trimming still rejects names with surrounding spaces.","family":"w2-recipe_scaling_and_nutrition-volume-to-mass-ingredient-name-normalization","id":"FA-96911","implementations":{"attempt":{"sha256":"abe1812737e6ccf887203d38f538a2b56eb21e0288fce29f0869bd165290a2f2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(amount, unit, ingredient):\n    DENS = {'flour': 120, 'sugar': 200, 'brown sugar': 145, 'butter': 227, 'honey': 340, 'water': 236}\n    PER_CUP = {'cup': 1, 'tbsp': 16, 'tsp': 48}\n    name = ingredient.lower()\n    packed = name.startswith('packed ')\n    if packed:\n        name = name[len('packed '):]\n    sifted = name.endswith(', sifted')\n    if sifted:\n        name = name[:-len(', sifted')]\n    if name not in DENS:\n        return 'error: unknown ingredient'\n    if unit == 'ml':\n        cups = Fraction(amount) / Fraction(2365, 10)\n    elif unit in PER_CUP:\n        cups = Fraction(amount) / PER_CUP[unit]\n    else:\n        return 'error: unknown unit'\n    d = Fraction(DENS[name])\n    if packed and name == 'brown sugar':\n        d = Fraction(213)\n    if sifted:\n        d = d * Fraction(9, 10)\n    g = cups * d\n    if g < 10:\n        return '%.1f g' % (math.floor(g * 10 + Fraction(1, 2)) / 10)\n    return '%d g' % math.floor(g + Fraction(1, 2))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['one cup flour', ['1', 'cup', 'flour'], '120 g'], ['exactly ten grams', ['4', 'tsp', 'flour'], '10 g'],\n  ['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['regression: ingredient name normalization', ['6', 'ml', '  Honey '], '8.6 g'],\n  ['repair check: ingredient name normalization', ['120', 'ml', '  Sugar, Sifted '], '91 g'],\n  ['generated control 1', ['1/4', 'ml', 'sugar'], '0.2 g'],\n  ['generated control 2', ['4', 'cup', 'water, sifted'], '850 g'],\n  ['generated control 3', ['250', 'pinch', 'brown sugar'], 'error: unknown unit']],\n [['exactly ten grams', ['4', 'tsp', 'flour'], '10 g'],\n  ['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['regression: ingredient name normalization', ['1/4', 'ml', '  Flour, Sifted '], '0.1 g'],\n  ['repair check: ingredient name normalization', ['5', 'ml', '  Butter, Sifted '], '4.3 g'],\n  ['generated control 1', ['6', 'ml', 'saffron'], 'error: unknown ingredient'],\n  ['generated control 2', ['1/2', 'cup', 'butter, sifted'], '102 g'],\n  ['generated control 3', ['1/3', 'tbsp', 'butter, sifted'], '4.3 g']],\n [['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['regression: ingredient name normalization', ['100', 'ml', '  Brown Sugar '], '61 g'],\n  ['repair check: ingredient name normalization', ['5', 'tbsp', '  Sugar '], '63 g'],\n  ['generated control 1', ['3', 'tbsp', 'butter, sifted'], '38 g'],\n  ['generated control 2', ['120', 'cup', 'PACKED SUGAR'], '24000 g'],\n  ['generated control 3', ['120', 'tsp', '  Packed Honey '], '850 g']],\n [['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['sifted flour tablespoon', ['2', 'tbsp', 'Flour, sifted'], '14 g'],\n  ['regression: ingredient name normalization', ['2', 'tbsp', '  Water '], '30 g'],\n  ['repair check: ingredient name normalization', ['15', 'ml', '  Packed Flour '], '7.6 g'],\n  ['generated control 1', ['6', 'cup', 'butter'], '1362 g'],\n  ['generated control 2', ['4', 'ml', 'water'], '4.0 g'],\n  ['generated control 3', ['1/2', 'ml', 'saffron'], 'error: unknown ingredient']],\n [['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['sifted flour tablespoon', ['2', 'tbsp', 'Flour, sifted'], '14 g'],\n  ['one cup flour', ['1', 'cup', 'flour'], '120 g'],\n  ['regression: ingredient name normalization', ['4', 'ml', 'WATER'], '4.0 g'],\n  ['repair check: ingredient name normalization', ['4', 'tsp', '  Honey, Sifted '], '26 g'],\n  ['generated control 1', ['2', 'ml', 'flour, sifted'], '0.9 g'],\n  ['generated control 2', ['3', 'cup', 'honey'], '1020 g'],\n  ['generated control 3', ['1/4', 'tsp', 'HONEY'], '1.8 g']]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"3bfd77b386fa330f50540f2200819cd9632857f5b0bf0281eab16c959b65babe","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(amount, unit, ingredient):\n    DENS = {'flour': 120, 'sugar': 200, 'brown sugar': 145, 'butter': 227, 'honey': 340, 'water': 236}\n    PER_CUP = {'cup': 1, 'tbsp': 16, 'tsp': 48}\n    name = ingredient.strip()\n    packed = name.startswith('packed ')\n    if packed:\n        name = name[len('packed '):]\n    sifted = name.endswith(', sifted')\n    if sifted:\n        name = name[:-len(', sifted')]\n    if name not in DENS:\n        return 'error: unknown ingredient'\n    if unit == 'ml':\n        cups = Fraction(amount) / Fraction(2365, 10)\n    elif unit in PER_CUP:\n        cups = Fraction(amount) / PER_CUP[unit]\n    else:\n        return 'error: unknown unit'\n    d = Fraction(DENS[name])\n    if packed and name == 'brown sugar':\n        d = Fraction(213)\n    if sifted:\n        d = d * Fraction(9, 10)\n    g = cups * d\n    if g < 10:\n        return '%.1f g' % (math.floor(g * 10 + Fraction(1, 2)) / 10)\n    return '%d g' % math.floor(g + Fraction(1, 2))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['one cup flour', ['1', 'cup', 'flour'], '120 g'], ['exactly ten grams', ['4', 'tsp', 'flour'], '10 g'],\n  ['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['regression: ingredient name normalization', ['6', 'ml', '  Honey '], '8.6 g'],\n  ['repair check: ingredient name normalization', ['120', 'ml', '  Sugar, Sifted '], '91 g'],\n  ['generated control 1', ['1/4', 'ml', 'sugar'], '0.2 g'],\n  ['generated control 2', ['4', 'cup', 'water, sifted'], '850 g'],\n  ['generated control 3', ['250', 'pinch', 'brown sugar'], 'error: unknown unit']],\n [['exactly ten grams', ['4', 'tsp', 'flour'], '10 g'],\n  ['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['regression: ingredient name normalization', ['1/4', 'ml', '  Flour, Sifted '], '0.1 g'],\n  ['repair check: ingredient name normalization', ['5', 'ml', '  Butter, Sifted '], '4.3 g'],\n  ['generated control 1', ['6', 'ml', 'saffron'], 'error: unknown ingredient'],\n  ['generated control 2', ['1/2', 'cup', 'butter, sifted'], '102 g'],\n  ['generated control 3', ['1/3', 'tbsp', 'butter, sifted'], '4.3 g']],\n [['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['regression: ingredient name normalization', ['100', 'ml', '  Brown Sugar '], '61 g'],\n  ['repair check: ingredient name normalization', ['5', 'tbsp', '  Sugar '], '63 g'],\n  ['generated control 1', ['3', 'tbsp', 'butter, sifted'], '38 g'],\n  ['generated control 2', ['120', 'cup', 'PACKED SUGAR'], '24000 g'],\n  ['generated control 3', ['120', 'tsp', '  Packed Honey '], '850 g']],\n [['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['sifted flour tablespoon', ['2', 'tbsp', 'Flour, sifted'], '14 g'],\n  ['regression: ingredient name normalization', ['2', 'tbsp', '  Water '], '30 g'],\n  ['repair check: ingredient name normalization', ['15', 'ml', '  Packed Flour '], '7.6 g'],\n  ['generated control 1', ['6', 'cup', 'butter'], '1362 g'],\n  ['generated control 2', ['4', 'ml', 'water'], '4.0 g'],\n  ['generated control 3', ['1/2', 'ml', 'saffron'], 'error: unknown ingredient']],\n [['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['sifted flour tablespoon', ['2', 'tbsp', 'Flour, sifted'], '14 g'],\n  ['one cup flour', ['1', 'cup', 'flour'], '120 g'],\n  ['regression: ingredient name normalization', ['4', 'ml', 'WATER'], '4.0 g'],\n  ['repair check: ingredient name normalization', ['4', 'tsp', '  Honey, Sifted '], '26 g'],\n  ['generated control 1', ['2', 'ml', 'flour, sifted'], '0.9 g'],\n  ['generated control 2', ['3', 'cup', 'honey'], '1020 g'],\n  ['generated control 3', ['1/4', 'tsp', 'HONEY'], '1.8 g']]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"1eb63a5c71205e8cd4163c8eea905c169ae9de108c679c702c037d80f2823e3d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(amount, unit, ingredient):\n    DENS = {'flour': 120, 'sugar': 200, 'brown sugar': 145, 'butter': 227, 'honey': 340, 'water': 236}\n    PER_CUP = {'cup': 1, 'tbsp': 16, 'tsp': 48}\n    name = ingredient.strip().lower()\n    packed = name.startswith('packed ')\n    if packed:\n        name = name[len('packed '):]\n    sifted = name.endswith(', sifted')\n    if sifted:\n        name = name[:-len(', sifted')]\n    if name not in DENS:\n        return 'error: unknown ingredient'\n    if unit == 'ml':\n        cups = Fraction(amount) / Fraction(2365, 10)\n    elif unit in PER_CUP:\n        cups = Fraction(amount) / PER_CUP[unit]\n    else:\n        return 'error: unknown unit'\n    d = Fraction(DENS[name])\n    if packed and name == 'brown sugar':\n        d = Fraction(213)\n    if sifted:\n        d = d * Fraction(9, 10)\n    g = cups * d\n    if g < 10:\n        return '%.1f g' % (math.floor(g * 10 + Fraction(1, 2)) / 10)\n    return '%d g' % math.floor(g + Fraction(1, 2))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['one cup flour', ['1', 'cup', 'flour'], '120 g'], ['exactly ten grams', ['4', 'tsp', 'flour'], '10 g'],\n  ['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['regression: ingredient name normalization', ['6', 'ml', '  Honey '], '8.6 g'],\n  ['repair check: ingredient name normalization', ['120', 'ml', '  Sugar, Sifted '], '91 g'],\n  ['generated control 1', ['1/4', 'ml', 'sugar'], '0.2 g'],\n  ['generated control 2', ['4', 'cup', 'water, sifted'], '850 g'],\n  ['generated control 3', ['250', 'pinch', 'brown sugar'], 'error: unknown unit']],\n [['exactly ten grams', ['4', 'tsp', 'flour'], '10 g'],\n  ['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['regression: ingredient name normalization', ['1/4', 'ml', '  Flour, Sifted '], '0.1 g'],\n  ['repair check: ingredient name normalization', ['5', 'ml', '  Butter, Sifted '], '4.3 g'],\n  ['generated control 1', ['6', 'ml', 'saffron'], 'error: unknown ingredient'],\n  ['generated control 2', ['1/2', 'cup', 'butter, sifted'], '102 g'],\n  ['generated control 3', ['1/3', 'tbsp', 'butter, sifted'], '4.3 g']],\n [['packed brown sugar', ['1', 'cup', 'packed brown sugar'], '213 g'],\n  ['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['regression: ingredient name normalization', ['100', 'ml', '  Brown Sugar '], '61 g'],\n  ['repair check: ingredient name normalization', ['5', 'tbsp', '  Sugar '], '63 g'],\n  ['generated control 1', ['3', 'tbsp', 'butter, sifted'], '38 g'],\n  ['generated control 2', ['120', 'cup', 'PACKED SUGAR'], '24000 g'],\n  ['generated control 3', ['120', 'tsp', '  Packed Honey '], '850 g']],\n [['unknown ingredient', ['1', 'cup', 'saffron'], 'error: unknown ingredient'],\n  ['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['sifted flour tablespoon', ['2', 'tbsp', 'Flour, sifted'], '14 g'],\n  ['regression: ingredient name normalization', ['2', 'tbsp', '  Water '], '30 g'],\n  ['repair check: ingredient name normalization', ['15', 'ml', '  Packed Flour '], '7.6 g'],\n  ['generated control 1', ['6', 'cup', 'butter'], '1362 g'],\n  ['generated control 2', ['4', 'ml', 'water'], '4.0 g'],\n  ['generated control 3', ['1/2', 'ml', 'saffron'], 'error: unknown ingredient']],\n [['metric cup of water', ['250', 'ml', 'water'], '249 g'],\n  ['sifted flour tablespoon', ['2', 'tbsp', 'Flour, sifted'], '14 g'],\n  ['one cup flour', ['1', 'cup', 'flour'], '120 g'],\n  ['regression: ingredient name normalization', ['4', 'ml', 'WATER'], '4.0 g'],\n  ['repair check: ingredient name normalization', ['4', 'tsp', '  Honey, Sifted '], '26 g'],\n  ['generated control 1', ['2', 'ml', 'flour, sifted'], '0.9 g'],\n  ['generated control 2', ['3', 'cup', 'honey'], '1020 g'],\n  ['generated control 3', ['1/4', 'tsp', 'HONEY'], '1.8 g']]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-recipe_scaling_and_nutrition-volume-to-mass-ingredient-name-normalization","generated_at":"2026-09-29T14:52:27.036945+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Recipe apps convert American volume measures to weights for scaling and nutrition lookup.","repair":"Trim and lower-case the ingredient name before lookup.","root_cause":"The lookup key is trimmed but not lower-cased, so capitalized names miss the density table.","sha256":"9758e19a9dc200de7b34d359378f4263dfe22ac7e29e830ce2883c0262691729","title":"Volume-to-mass ingredient converter: ingredient name normalization · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.035,"exit_code":1,"observations":[{"actual":"120 g","check":"one cup flour","expected":"120 g","passed":true},{"actual":"10 g","check":"exactly ten grams","expected":"10 g","passed":true},{"actual":"213 g","check":"packed brown sugar","expected":"213 g","passed":true},{"actual":"error: unknown ingredient","check":"regression: ingredient name normalization","expected":"8.6 g","passed":false},{"actual":"error: unknown ingredient","check":"repair check: ingredient name normalization","expected":"91 g","passed":false},{"actual":"0.2 g","check":"generated control 1","expected":"0.2 g","passed":true},{"actual":"850 g","check":"generated control 2","expected":"850 g","passed":true},{"actual":"error: unknown unit","check":"generated control 3","expected":"error: unknown unit","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"one cup flour\", \"actual\": \"120 g\", \"expected\": \"120 g\", \"passed\": true}, {\"check\": \"exactly ten grams\", \"actual\": \"10 g\", \"expected\": \"10 g\", \"passed\": true}, {\"check\": \"packed brown sugar\", \"actual\": \"213 g\", \"expected\": \"213 g\", \"passed\": true}, {\"check\": \"regression: ingredient name normalization\", \"actual\": \"error: unknown ingredient\", \"expected\": \"8.6 g\", \"passed\": false}, {\"check\": \"repair check: ingredient name normalization\", \"actual\": \"error: unknown ingredient\", \"expected\": \"91 g\", \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": \"0.2 g\", \"expected\": \"0.2 g\", \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": \"850 g\", \"expected\": \"850 g\", \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": \"error: unknown unit\", \"expected\": \"error: unknown unit\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.035,"exit_code":1,"observations":[{"actual":"120 g","check":"one cup flour","expected":"120 g","passed":true},{"actual":"10 g","check":"exactly ten grams","expected":"10 g","passed":true},{"actual":"213 g","check":"packed brown sugar","expected":"213 g","passed":true},{"actual":"error: unknown ingredient","check":"regression: ingredient name normalization","expected":"8.6 g","passed":false},{"actual":"error: unknown ingredient","check":"repair check: ingredient name normalization","expected":"91 g","passed":false},{"actual":"0.2 g","check":"generated control 1","expected":"0.2 g","passed":true},{"actual":"850 g","check":"generated control 2","expected":"850 g","passed":true},{"actual":"error: unknown unit","check":"generated control 3","expected":"error: unknown unit","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"one cup flour\", \"actual\": \"120 g\", \"expected\": \"120 g\", \"passed\": true}, {\"check\": \"exactly ten grams\", \"actual\": \"10 g\", \"expected\": \"10 g\", \"passed\": true}, {\"check\": \"packed brown sugar\", \"actual\": \"213 g\", \"expected\": \"213 g\", \"passed\": true}, {\"check\": \"regression: ingredient name normalization\", \"actual\": \"error: unknown ingredient\", \"expected\": \"8.6 g\", \"passed\": false}, {\"check\": \"repair check: ingredient name normalization\", \"actual\": \"error: unknown ingredient\", \"expected\": \"91 g\", \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": \"0.2 g\", \"expected\": \"0.2 g\", \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": \"850 g\", \"expected\": \"850 g\", \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": \"error: unknown unit\", \"expected\": \"error: unknown unit\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.256,"exit_code":0,"observations":[{"actual":"120 g","check":"one cup flour","expected":"120 g","passed":true},{"actual":"10 g","check":"exactly ten grams","expected":"10 g","passed":true},{"actual":"213 g","check":"packed brown sugar","expected":"213 g","passed":true},{"actual":"8.6 g","check":"regression: ingredient name normalization","expected":"8.6 g","passed":true},{"actual":"91 g","check":"repair check: ingredient name normalization","expected":"91 g","passed":true},{"actual":"0.2 g","check":"generated control 1","expected":"0.2 g","passed":true},{"actual":"850 g","check":"generated control 2","expected":"850 g","passed":true},{"actual":"error: unknown unit","check":"generated control 3","expected":"error: unknown unit","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"one cup flour\", \"actual\": \"120 g\", \"expected\": \"120 g\", \"passed\": true}, {\"check\": \"exactly ten grams\", \"actual\": \"10 g\", \"expected\": \"10 g\", \"passed\": true}, {\"check\": \"packed brown sugar\", \"actual\": \"213 g\", \"expected\": \"213 g\", \"passed\": true}, {\"check\": \"regression: ingredient name normalization\", \"actual\": \"8.6 g\", \"expected\": \"8.6 g\", \"passed\": true}, {\"check\": \"repair check: ingredient name normalization\", \"actual\": \"91 g\", \"expected\": \"91 g\", \"passed\": true}, {\"check\": \"generated control 1\", \"actual\": \"0.2 g\", \"expected\": \"0.2 g\", \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": \"850 g\", \"expected\": \"850 g\", \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": \"error: unknown unit\", \"expected\": \"error: unknown unit\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}