{"abstract":"20 g of salt reads as 120 teaspoons.","category":"Recipe scaling and nutrition","checks":8,"contract":"Salt grams = total*pct/100 where total = meat+water for \"wet\" and meat only for \"dry\". Salt densities per tsp: table 6 g, morton kosher 4.8 g, diamond kosher 2.8 g. Return salt_g half-up to 0.1 (float), tsp half-up to 0.25 (float), and sodium_mg_per_100g = half-up of salt_g*393 per 100 g of total at equilibrium.","contract_signature":"meat_g, water_g, pct, salt_type, method","evaluation_group":"w2-recipe_scaling_and_nutrition-equilibrium-brine","failed_approach":"Using table-salt density for all brands under-measures flaky kosher salt.","family":"w2-recipe_scaling_and_nutrition-equilibrium-brine-volume-from-weight","id":"FA-97321","implementations":{"attempt":{"sha256":"0f2318783bf1558c85f7e94952eec512cc150d2fdc02fc50f1c62c57f2eeaad0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(meat_g, water_g, pct, salt_type, method):\n    DENS = {'table': Fraction(6), 'morton kosher': Fraction(24, 5), 'diamond kosher': Fraction(14, 5)}\n    total = meat_g + (0 if method == 'dry' else water_g)\n    salt = Fraction(total) * Fraction(pct) / 100\n    tsp = salt / DENS['table']\n    sodium = salt * 393 * 100 / total\n    return {'salt_g': math.floor(salt * 10 + Fraction(1, 2)) / 10, 'tsp': math.floor(tsp * 4 + Fraction(1, 2)) / 4,\n            'sodium_mg_per_100g': math.floor(sodium + Fraction(1, 2))}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['regression: volume from weight', [1000, 1000, '1.5', 'morton kosher', 'wet'],\n   {'salt_g': 30.0, 'sodium_mg_per_100g': 590, 'tsp': 6.25}],\n  ['repair check: volume from weight', [2000, 0, '1', 'morton kosher', 'wet'],\n   {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 4.25}],\n  ['generated control 1', [500, 500, '1.5', 'morton kosher', 'dry'],\n   {'salt_g': 7.5, 'sodium_mg_per_100g': 590, 'tsp': 1.5}],\n  ['generated control 2', [500, 1000, '3', 'table', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 1179, 'tsp': 2.5}],\n  ['generated control 3', [2500, 0, '2', 'morton kosher', 'wet'],\n   {'salt_g': 50.0, 'sodium_mg_per_100g': 786, 'tsp': 10.5}]],\n [['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['regression: volume from weight', [2500, 500, '0.5', 'morton kosher', 'dry'],\n   {'salt_g': 12.5, 'sodium_mg_per_100g': 197, 'tsp': 2.5}],\n  ['repair check: volume from weight', [500, 0, '3', 'diamond kosher', 'wet'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 1179, 'tsp': 5.25}],\n  ['generated control 1', [2500, 1000, '3', 'table', 'wet'],\n   {'salt_g': 105.0, 'sodium_mg_per_100g': 1179, 'tsp': 17.5}],\n  ['generated control 2', [1500, 0, '5', 'table', 'wet'],\n   {'salt_g': 75.0, 'sodium_mg_per_100g': 1965, 'tsp': 12.5}],\n  ['generated control 3', [1000, 2000, '2', 'morton kosher', 'dry'],\n   {'salt_g': 20.0, 'sodium_mg_per_100g': 786, 'tsp': 4.25}]],\n [['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['regression: volume from weight', [1500, 2000, '0.5', 'table', 'dry'],\n   {'salt_g': 7.5, 'sodium_mg_per_100g': 197, 'tsp': 1.25}],\n  ['repair check: volume from weight', [2000, 0, '0.5', 'diamond kosher', 'wet'],\n   {'salt_g': 10.0, 'sodium_mg_per_100g': 197, 'tsp': 3.5}],\n  ['generated control 1', [2000, 1000, '2', 'table', 'dry'],\n   {'salt_g': 40.0, 'sodium_mg_per_100g': 786, 'tsp': 6.75}],\n  ['generated control 2', [1500, 1000, '1.5', 'diamond kosher', 'wet'],\n   {'salt_g': 37.5, 'sodium_mg_per_100g': 590, 'tsp': 13.5}],\n  ['generated control 3', [1500, 1000, '2', 'table', 'wet'],\n   {'salt_g': 50.0, 'sodium_mg_per_100g': 786, 'tsp': 8.25}]],\n [['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['regression: volume from weight', [500, 2000, '3', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 1179, 'tsp': 5.25}],\n  ['repair check: volume from weight', [500, 2000, '1.5', 'diamond kosher', 'wet'],\n   {'salt_g': 37.5, 'sodium_mg_per_100g': 590, 'tsp': 13.5}],\n  ['generated control 1', [500, 500, '0.5', 'morton kosher', 'dry'],\n   {'salt_g': 2.5, 'sodium_mg_per_100g': 197, 'tsp': 0.5}],\n  ['generated control 2', [1000, 2000, '1.5', 'diamond kosher', 'wet'],\n   {'salt_g': 45.0, 'sodium_mg_per_100g': 590, 'tsp': 16.0}],\n  ['generated control 3', [2000, 2000, '1', 'morton kosher', 'dry'],\n   {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 4.25}]],\n [['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['regression: volume from weight', [1000, 500, '1', 'morton kosher', 'wet'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['repair check: volume from weight', [1000, 1000, '3', 'diamond kosher', 'wet'],\n   {'salt_g': 60.0, 'sodium_mg_per_100g': 1179, 'tsp': 21.5}],\n  ['generated control 1', [2000, 500, '3', 'table', 'wet'],\n   {'salt_g': 75.0, 'sodium_mg_per_100g': 1179, 'tsp': 12.5}],\n  ['generated control 2', [2500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 25.0, 'sodium_mg_per_100g': 393, 'tsp': 9.0}],\n  ['generated control 3', [500, 1000, '1.5', 'table', 'wet'],\n   {'salt_g': 22.5, 'sodium_mg_per_100g': 590, 'tsp': 3.75}]]]\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":"49211d1b553398d4b43c9c490fb6d0d02734eb5287b951f70de7d3fe649f6543","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(meat_g, water_g, pct, salt_type, method):\n    DENS = {'table': Fraction(6), 'morton kosher': Fraction(24, 5), 'diamond kosher': Fraction(14, 5)}\n    total = meat_g + (0 if method == 'dry' else water_g)\n    salt = Fraction(total) * Fraction(pct) / 100\n    tsp = salt * DENS[salt_type]\n    sodium = salt * 393 * 100 / total\n    return {'salt_g': math.floor(salt * 10 + Fraction(1, 2)) / 10, 'tsp': math.floor(tsp * 4 + Fraction(1, 2)) / 4,\n            'sodium_mg_per_100g': math.floor(sodium + Fraction(1, 2))}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['regression: volume from weight', [1000, 1000, '1.5', 'morton kosher', 'wet'],\n   {'salt_g': 30.0, 'sodium_mg_per_100g': 590, 'tsp': 6.25}],\n  ['repair check: volume from weight', [2000, 0, '1', 'morton kosher', 'wet'],\n   {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 4.25}],\n  ['generated control 1', [500, 500, '1.5', 'morton kosher', 'dry'],\n   {'salt_g': 7.5, 'sodium_mg_per_100g': 590, 'tsp': 1.5}],\n  ['generated control 2', [500, 1000, '3', 'table', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 1179, 'tsp': 2.5}],\n  ['generated control 3', [2500, 0, '2', 'morton kosher', 'wet'],\n   {'salt_g': 50.0, 'sodium_mg_per_100g': 786, 'tsp': 10.5}]],\n [['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['regression: volume from weight', [2500, 500, '0.5', 'morton kosher', 'dry'],\n   {'salt_g': 12.5, 'sodium_mg_per_100g': 197, 'tsp': 2.5}],\n  ['repair check: volume from weight', [500, 0, '3', 'diamond kosher', 'wet'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 1179, 'tsp': 5.25}],\n  ['generated control 1', [2500, 1000, '3', 'table', 'wet'],\n   {'salt_g': 105.0, 'sodium_mg_per_100g': 1179, 'tsp': 17.5}],\n  ['generated control 2', [1500, 0, '5', 'table', 'wet'],\n   {'salt_g': 75.0, 'sodium_mg_per_100g': 1965, 'tsp': 12.5}],\n  ['generated control 3', [1000, 2000, '2', 'morton kosher', 'dry'],\n   {'salt_g': 20.0, 'sodium_mg_per_100g': 786, 'tsp': 4.25}]],\n [['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['regression: volume from weight', [1500, 2000, '0.5', 'table', 'dry'],\n   {'salt_g': 7.5, 'sodium_mg_per_100g': 197, 'tsp': 1.25}],\n  ['repair check: volume from weight', [2000, 0, '0.5', 'diamond kosher', 'wet'],\n   {'salt_g': 10.0, 'sodium_mg_per_100g': 197, 'tsp': 3.5}],\n  ['generated control 1', [2000, 1000, '2', 'table', 'dry'],\n   {'salt_g': 40.0, 'sodium_mg_per_100g': 786, 'tsp': 6.75}],\n  ['generated control 2', [1500, 1000, '1.5', 'diamond kosher', 'wet'],\n   {'salt_g': 37.5, 'sodium_mg_per_100g': 590, 'tsp': 13.5}],\n  ['generated control 3', [1500, 1000, '2', 'table', 'wet'],\n   {'salt_g': 50.0, 'sodium_mg_per_100g': 786, 'tsp': 8.25}]],\n [['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['regression: volume from weight', [500, 2000, '3', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 1179, 'tsp': 5.25}],\n  ['repair check: volume from weight', [500, 2000, '1.5', 'diamond kosher', 'wet'],\n   {'salt_g': 37.5, 'sodium_mg_per_100g': 590, 'tsp': 13.5}],\n  ['generated control 1', [500, 500, '0.5', 'morton kosher', 'dry'],\n   {'salt_g': 2.5, 'sodium_mg_per_100g': 197, 'tsp': 0.5}],\n  ['generated control 2', [1000, 2000, '1.5', 'diamond kosher', 'wet'],\n   {'salt_g': 45.0, 'sodium_mg_per_100g': 590, 'tsp': 16.0}],\n  ['generated control 3', [2000, 2000, '1', 'morton kosher', 'dry'],\n   {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 4.25}]],\n [['dry brine ignores water', [1500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 5.25}],\n  ['strong morton brine', [2000, 2000, '5', 'morton kosher', 'wet'],\n   {'salt_g': 200.0, 'sodium_mg_per_100g': 1965, 'tsp': 41.75}],\n  ['wet brine', [1000, 1000, '1', 'table', 'wet'], {'salt_g': 20.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['regression: volume from weight', [1000, 500, '1', 'morton kosher', 'wet'],\n   {'salt_g': 15.0, 'sodium_mg_per_100g': 393, 'tsp': 3.25}],\n  ['repair check: volume from weight', [1000, 1000, '3', 'diamond kosher', 'wet'],\n   {'salt_g': 60.0, 'sodium_mg_per_100g': 1179, 'tsp': 21.5}],\n  ['generated control 1', [2000, 500, '3', 'table', 'wet'],\n   {'salt_g': 75.0, 'sodium_mg_per_100g': 1179, 'tsp': 12.5}],\n  ['generated control 2', [2500, 1000, '1', 'diamond kosher', 'dry'],\n   {'salt_g': 25.0, 'sodium_mg_per_100g': 393, 'tsp': 9.0}],\n  ['generated control 3', [500, 1000, '1.5', 'table', 'wet'],\n   {'salt_g': 22.5, 'sodium_mg_per_100g': 590, 'tsp': 3.75}]]]\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-equilibrium-brine-volume-from-weight","generated_at":"2026-09-29T14:52:31.041592+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Equilibrium brining sets salt as a percentage of meat plus water and converts between salt brands.","root_cause":"Grams are multiplied by grams-per-teaspoon instead of divided.","sha256":"6505727c0a4933e9ad091f113663c86cb63a28c1f5f280c01b20587f10757725","title":"Equilibrium brine calculator: volume from weight · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.918,"exit_code":1,"observations":[{"actual":{"salt_g":20.0,"sodium_mg_per_100g":393,"tsp":3.25},"check":"wet brine","expected":{"salt_g":20.0,"sodium_mg_per_100g":393,"tsp":3.25},"passed":true},{"actual":{"salt_g":15.0,"sodium_mg_per_100g":393,"tsp":2.5},"check":"dry brine ignores water","expected":{"salt_g":15.0,"sodium_mg_per_100g":393,"tsp":5.25},"passed":false},{"actual":{"salt_g":200.0,"sodium_mg_per_100g":1965,"tsp":33.25},"check":"strong morton brine","expected":{"salt_g":200.0,"sodium_mg_per_100g":1965,"tsp":41.75},"passed":false},{"actual":{"salt_g":30.0,"sodium_mg_per_100g":590,"tsp":5.0},"check":"regression: volume from weight","expected":{"salt_g":30.0,"sodium_mg_per_100g":590,"tsp":6.25},"passed":false},{"actual":{"salt_g":20.0,"sodium_mg_per_100g":393,"tsp":3.25},"check":"repair check: volume from weight","expected":{"salt_g":20.0,"sodium_mg_per_100g":393,"tsp":4.25},"passed":false},{"actual":{"salt_g":7.5,"sodium_mg_per_100g":590,"tsp":1.25},"check":"generated control 1","expected":{"salt_g":7.5,"sodium_mg_per_100g":590,"tsp":1.5},"passed":false},{"actual":{"salt_g":15.0,"sodium_mg_per_100g":1179,"tsp":2.5},"check":"generated control 2","expected":{"salt_g":15.0,"sodium_mg_per_100g":1179,"tsp":2.5},"passed":true},{"actual":{"salt_g":50.0,"sodium_mg_per_100g":786,"tsp":8.25},"check":"generated control 3","expected":{"salt_g":50.0,"sodium_mg_per_100g":786,"tsp":10.5},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"wet brine\", \"actual\": {\"salt_g\": 20.0, \"tsp\": 3.25, \"sodium_mg_per_100g\": 393}, \"expected\": {\"salt_g\": 20.0, \"sodium_mg_per_100g\": 393, \"tsp\": 3.25}, \"passed\": true}, {\"check\": \"dry brine ignores water\", \"actual\": {\"salt_g\": 15.0, \"tsp\": 2.5, \"sodium_mg_per_100g\": 393}, \"expected\": {\"salt_g\": 15.0, \"sodium_mg_per_100g\": 393, \"tsp\": 5.25}, \"passed\": false}, {\"check\": \"strong morton brine\", \"actual\": {\"salt_g\": 200.0, \"tsp\": 33.25, \"sodium_mg_per_100g\": 1965}, \"expected\": {\"salt_g\": 200.0, \"sodium_mg_per_100g\": 1965, \"tsp\": 41.75}, \"passed\": false}, {\"check\": \"regression: volume from weight\", \"actual\": {\"salt_g\": 30.0, \"tsp\": 5.0, \"sodium_mg_per_100g\": 590}, \"expected\": {\"salt_g\": 30.0, \"sodium_mg_per_100g\": 590, \"tsp\": 6.25}, \"passed\": false}, {\"check\": \"repair check: volume from weight\", \"actual\": {\"salt_g\": 20.0, \"tsp\": 3.25, \"sodium_mg_per_100g\": 393}, \"expected\": {\"salt_g\": 20.0, \"sodium_mg_per_100g\": 393, \"tsp\": 4.25}, \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": {\"salt_g\": 7.5, \"tsp\": 1.25, \"sodium_mg_per_100g\": 590}, \"expected\": {\"salt_g\": 7.5, \"sodium_mg_per_100g\": 590, \"tsp\": 1.5}, \"passed\": false}, {\"check\": \"generated control 2\", \"actual\": {\"salt_g\": 15.0, \"tsp\": 2.5, \"sodium_mg_per_100g\": 1179}, \"expected\": {\"salt_g\": 15.0, \"sodium_mg_per_100g\": 1179, \"tsp\": 2.5}, \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": {\"salt_g\": 50.0, \"tsp\": 8.25, \"sodium_mg_per_100g\": 786}, \"expected\": {\"salt_g\": 50.0, \"sodium_mg_per_100g\": 786, \"tsp\": 10.5}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.552,"exit_code":1,"observations":[{"actual":{"salt_g":20.0,"sodium_mg_per_100g":393,"tsp":120.0},"check":"wet brine","expected":{"salt_g":20.0,"sodium_mg_per_100g":393,"tsp":3.25},"passed":false},{"actual":{"salt_g":15.0,"sodium_mg_per_100g":393,"tsp":42.0},"check":"dry brine ignores water","expected":{"salt_g":15.0,"sodium_mg_per_100g":393,"tsp":5.25},"passed":false},{"actual":{"salt_g":200.0,"sodium_mg_per_100g":1965,"tsp":960.0},"check":"strong morton brine","expected":{"salt_g":200.0,"sodium_mg_per_100g":1965,"tsp":41.75},"passed":false},{"actual":{"salt_g":30.0,"sodium_mg_per_100g":590,"tsp":144.0},"check":"regression: volume from weight","expected":{"salt_g":30.0,"sodium_mg_per_100g":590,"tsp":6.25},"passed":false},{"actual":{"salt_g":20.0,"sodium_mg_per_100g":393,"tsp":96.0},"check":"repair check: volume from weight","expected":{"salt_g":20.0,"sodium_mg_per_100g":393,"tsp":4.25},"passed":false},{"actual":{"salt_g":7.5,"sodium_mg_per_100g":590,"tsp":36.0},"check":"generated control 1","expected":{"salt_g":7.5,"sodium_mg_per_100g":590,"tsp":1.5},"passed":false},{"actual":{"salt_g":15.0,"sodium_mg_per_100g":1179,"tsp":90.0},"check":"generated control 2","expected":{"salt_g":15.0,"sodium_mg_per_100g":1179,"tsp":2.5},"passed":false},{"actual":{"salt_g":50.0,"sodium_mg_per_100g":786,"tsp":240.0},"check":"generated control 3","expected":{"salt_g":50.0,"sodium_mg_per_100g":786,"tsp":10.5},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"wet brine\", \"actual\": {\"salt_g\": 20.0, \"tsp\": 120.0, \"sodium_mg_per_100g\": 393}, \"expected\": {\"salt_g\": 20.0, \"sodium_mg_per_100g\": 393, \"tsp\": 3.25}, \"passed\": false}, {\"check\": \"dry brine ignores water\", \"actual\": {\"salt_g\": 15.0, \"tsp\": 42.0, \"sodium_mg_per_100g\": 393}, \"expected\": {\"salt_g\": 15.0, \"sodium_mg_per_100g\": 393, \"tsp\": 5.25}, \"passed\": false}, {\"check\": \"strong morton brine\", \"actual\": {\"salt_g\": 200.0, \"tsp\": 960.0, \"sodium_mg_per_100g\": 1965}, \"expected\": {\"salt_g\": 200.0, \"sodium_mg_per_100g\": 1965, \"tsp\": 41.75}, \"passed\": false}, {\"check\": \"regression: volume from weight\", \"actual\": {\"salt_g\": 30.0, \"tsp\": 144.0, \"sodium_mg_per_100g\": 590}, \"expected\": {\"salt_g\": 30.0, \"sodium_mg_per_100g\": 590, \"tsp\": 6.25}, \"passed\": false}, {\"check\": \"repair check: volume from weight\", \"actual\": {\"salt_g\": 20.0, \"tsp\": 96.0, \"sodium_mg_per_100g\": 393}, \"expected\": {\"salt_g\": 20.0, \"sodium_mg_per_100g\": 393, \"tsp\": 4.25}, \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": {\"salt_g\": 7.5, \"tsp\": 36.0, \"sodium_mg_per_100g\": 590}, \"expected\": {\"salt_g\": 7.5, \"sodium_mg_per_100g\": 590, \"tsp\": 1.5}, \"passed\": false}, {\"check\": \"generated control 2\", \"actual\": {\"salt_g\": 15.0, \"tsp\": 90.0, \"sodium_mg_per_100g\": 1179}, \"expected\": {\"salt_g\": 15.0, \"sodium_mg_per_100g\": 1179, \"tsp\": 2.5}, \"passed\": false}, {\"check\": \"generated control 3\", \"actual\": {\"salt_g\": 50.0, \"tsp\": 240.0, \"sodium_mg_per_100g\": 786}, \"expected\": {\"salt_g\": 50.0, \"sodium_mg_per_100g\": 786, \"tsp\": 10.5}, \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}