{"abstract":"Pressing up from a stored 72.5 F shows 73 instead of 74.","category":"HVAC thermostat control","checks":8,"contract":"Thermostat setpoint keypad. The setpoint is stored in tenths F. In C mode the display shows the stored value converted to C and rounded half up to 0.5 C; a press moves the displayed value by 0.5 C and stores exactly 320 + half_degrees*9 tenths F. In F mode the display rounds half up to whole F and a press moves the whole-degree value by 1 F. After each press the stored value is clamped to 45.0-90.0 F. Return [display, stored_tenths_F] per press.","contract_signature":"unit, presses, start_f10","evaluation_group":"w2-hvac-thermostat-control-setpoint-keypad-units","failed_approach":"Banker's rounding still steps from 72 for a stored 72.5.","family":"w2-hvac-thermostat-control-setpoint-keypad-units-fahrenheit-step-base","id":"FA-92521","implementations":{"attempt":{"sha256":"63cdb64dbd19f72b9b3cc957586dde03e1438894c34234eb3568b8803e4be710","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(unit, presses, start_f10):\n    f10 = start_f10\n    out = []\n    for p in presses:\n        step = 1 if p == 'up' else -1\n        if unit == 'C':\n            c_half = (2 * (f10 - 320) + 9) // 18\n            f10 = 320 + (c_half + step) * 9\n        else:\n            f_whole = round(f10 / 10)\n            f10 = (f_whole + step) * 10\n        f10 = max(450, min(900, f10))\n        if unit == 'C':\n            c_half = (2 * (f10 - 320) + 9) // 18\n            out.append(['%d.%d' % (c_half // 2, 5 * (c_half % 2)), f10])\n        else:\n            out.append([str((f10 + 5) // 10), f10])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['regression: scenario 7',\n   ['F', ['down', 'up', 'down', 'up'], 905],\n   [['90', 900], ['90', 900], ['89', 890], ['90', 900]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]],\n  ['regression: scenario 1',\n   ['F', ['down', 'down', 'up', 'up', 'up', 'down', 'down', 'up'], 716],\n   [['71', 710], ['70', 700], ['71', 710], ['72', 720], ['73', 730], ['72', 720], ['71', 710], ['72', 720]]]],\n [['regression: scenario 2',\n   ['F', ['down', 'down', 'up', 'down', 'up', 'down', 'up', 'up'], 725],\n   [['72', 720], ['71', 710], ['72', 720], ['71', 710], ['72', 720], ['71', 710], ['72', 720], ['73', 730]]],\n  ['regression: scenario 3',\n   ['F', ['down', 'up', 'up', 'up', 'up', 'down', 'up', 'down', 'up'], 725],\n   [['72', 720],\n    ['73', 730],\n    ['74', 740],\n    ['75', 750],\n    ['76', 760],\n    ['75', 750],\n    ['76', 760],\n    ['75', 750],\n    ['76', 760]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]]],\n [['regression: scenario 3',\n   ['F', ['down', 'down', 'up', 'up', 'up', 'up', 'down', 'up', 'down'], 725],\n   [['72', 720],\n    ['71', 710],\n    ['72', 720],\n    ['73', 730],\n    ['74', 740],\n    ['75', 750],\n    ['74', 740],\n    ['75', 750],\n    ['74', 740]]],\n  ['regression: scenario 14',\n   ['F', ['up', 'up', 'down', 'up', 'up', 'down'], 725],\n   [['74', 740], ['75', 750], ['74', 740], ['75', 750], ['76', 760], ['75', 750]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]]],\n [['regression: scenario 3',\n   ['F', ['down', 'down', 'down', 'up', 'down', 'up'], 716],\n   [['71', 710], ['70', 700], ['69', 690], ['70', 700], ['69', 690], ['70', 700]]],\n  ['regression: scenario 14',\n   ['F', ['down', 'down', 'up', 'down', 'down', 'down', 'up', 'down', 'down'], 905],\n   [['90', 900],\n    ['89', 890],\n    ['90', 900],\n    ['89', 890],\n    ['88', 880],\n    ['87', 870],\n    ['88', 880],\n    ['87', 870],\n    ['86', 860]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]]],\n [['regression: scenario 5',\n   ['F', ['down', 'up', 'down', 'up', 'up', 'up'], 905],\n   [['90', 900], ['90', 900], ['89', 890], ['90', 900], ['90', 900], ['90', 900]]],\n  ['regression: scenario 43',\n   ['F', ['up', 'up', 'down', 'up', 'up', 'down', 'down', 'down'], 725],\n   [['74', 740], ['75', 750], ['74', 740], ['75', 750], ['76', 760], ['75', 750], ['74', 740], ['73', 730]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]]]]\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":"f58b53cae079fd84d517fd3900cea4c81ad1ce6505c1d0e7938b5bd21f6083e9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(unit, presses, start_f10):\n    f10 = start_f10\n    out = []\n    for p in presses:\n        step = 1 if p == 'up' else -1\n        if unit == 'C':\n            c_half = (2 * (f10 - 320) + 9) // 18\n            f10 = 320 + (c_half + step) * 9\n        else:\n            f_whole = f10 // 10\n            f10 = (f_whole + step) * 10\n        f10 = max(450, min(900, f10))\n        if unit == 'C':\n            c_half = (2 * (f10 - 320) + 9) // 18\n            out.append(['%d.%d' % (c_half // 2, 5 * (c_half % 2)), f10])\n        else:\n            out.append([str((f10 + 5) // 10), f10])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['regression: scenario 7',\n   ['F', ['down', 'up', 'down', 'up'], 905],\n   [['90', 900], ['90', 900], ['89', 890], ['90', 900]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]],\n  ['regression: scenario 1',\n   ['F', ['down', 'down', 'up', 'up', 'up', 'down', 'down', 'up'], 716],\n   [['71', 710], ['70', 700], ['71', 710], ['72', 720], ['73', 730], ['72', 720], ['71', 710], ['72', 720]]]],\n [['regression: scenario 2',\n   ['F', ['down', 'down', 'up', 'down', 'up', 'down', 'up', 'up'], 725],\n   [['72', 720], ['71', 710], ['72', 720], ['71', 710], ['72', 720], ['71', 710], ['72', 720], ['73', 730]]],\n  ['regression: scenario 3',\n   ['F', ['down', 'up', 'up', 'up', 'up', 'down', 'up', 'down', 'up'], 725],\n   [['72', 720],\n    ['73', 730],\n    ['74', 740],\n    ['75', 750],\n    ['76', 760],\n    ['75', 750],\n    ['76', 760],\n    ['75', 750],\n    ['76', 760]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]]],\n [['regression: scenario 3',\n   ['F', ['down', 'down', 'up', 'up', 'up', 'up', 'down', 'up', 'down'], 725],\n   [['72', 720],\n    ['71', 710],\n    ['72', 720],\n    ['73', 730],\n    ['74', 740],\n    ['75', 750],\n    ['74', 740],\n    ['75', 750],\n    ['74', 740]]],\n  ['regression: scenario 14',\n   ['F', ['up', 'up', 'down', 'up', 'up', 'down'], 725],\n   [['74', 740], ['75', 750], ['74', 740], ['75', 750], ['76', 760], ['75', 750]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]]],\n [['regression: scenario 3',\n   ['F', ['down', 'down', 'down', 'up', 'down', 'up'], 716],\n   [['71', 710], ['70', 700], ['69', 690], ['70', 700], ['69', 690], ['70', 700]]],\n  ['regression: scenario 14',\n   ['F', ['down', 'down', 'up', 'down', 'down', 'down', 'up', 'down', 'down'], 905],\n   [['90', 900],\n    ['89', 890],\n    ['90', 900],\n    ['89', 890],\n    ['88', 880],\n    ['87', 870],\n    ['88', 880],\n    ['87', 870],\n    ['86', 860]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]]],\n [['regression: scenario 5',\n   ['F', ['down', 'up', 'down', 'up', 'up', 'up'], 905],\n   [['90', 900], ['90', 900], ['89', 890], ['90', 900], ['90', 900], ['90', 900]]],\n  ['regression: scenario 43',\n   ['F', ['up', 'up', 'down', 'up', 'up', 'down', 'down', 'down'], 725],\n   [['74', 740], ['75', 750], ['74', 740], ['75', 750], ['76', 760], ['75', 750], ['74', 740], ['73', 730]]],\n  ['control: celsius steps', ['C', ['up', 'up', 'down'], 720], [['22.5', 725], ['23.0', 734], ['22.5', 725]]],\n  ['regression: fahrenheit half value',\n   ['F', ['up', 'down', 'down'], 725],\n   [['74', 740], ['73', 730], ['72', 720]]],\n  ['control: upper clamp', ['F', ['up'], 895], [['90', 900]]],\n  ['control: celsius off-grid start', ['C', ['down', 'up'], 716], [['21.5', 707], ['22.0', 716]]],\n  ['control: celsius lower clamp',\n   ['C', ['down', 'down', 'up'], 452],\n   [['7.0', 450], ['7.0', 450], ['7.5', 455]]],\n  ['control: celsius half-step display', ['C', ['up'], 707], [['22.0', 716]]]]]\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 bounded teaching model of one thermostat or HVAC controller decision evaluated per sample. Temperatures are integer tenths of a degree Fahrenheit unless stated otherwise. The contract is a stipulated toy convention, not a claim of conformance to any manufacturer, ASHRAE guideline or code. 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-hvac-thermostat-control-setpoint-keypad-units-fahrenheit-step-base","generated_at":"2026-09-29T14:51:46.492944+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Residential and light-commercial thermostats make these decisions sample by sample; each defect changes equipment calls in a way that shows up as short cycling, comfort complaints or equipment stress.","root_cause":"The whole-degree base floors the stored tenths.","sha256":"5af8879ea9963dd904c0d9b03f719c5b83d3a1dde15919b95c0eb4e3b7750c0b","title":"Fahrenheit press steps from a truncated whole degree · 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":40.267,"exit_code":1,"observations":[{"actual":[["73",730],["72",720],["71",710]],"check":"regression: fahrenheit half value","expected":[["74",740],["73",730],["72",720]],"passed":false},{"actual":[["89",890],["90",900],["89",890],["90",900]],"check":"regression: scenario 7","expected":[["90",900],["90",900],["89",890],["90",900]],"passed":false},{"actual":[["22.5",725],["23.0",734],["22.5",725]],"check":"control: celsius steps","expected":[["22.5",725],["23.0",734],["22.5",725]],"passed":true},{"actual":[["90",900]],"check":"control: upper clamp","expected":[["90",900]],"passed":true},{"actual":[["21.5",707],["22.0",716]],"check":"control: celsius off-grid start","expected":[["21.5",707],["22.0",716]],"passed":true},{"actual":[["7.0",450],["7.0",450],["7.5",455]],"check":"control: celsius lower clamp","expected":[["7.0",450],["7.0",450],["7.5",455]],"passed":true},{"actual":[["22.0",716]],"check":"control: celsius half-step display","expected":[["22.0",716]],"passed":true},{"actual":[["71",710],["70",700],["71",710],["72",720],["73",730],["72",720],["71",710],["72",720]],"check":"regression: scenario 1","expected":[["71",710],["70",700],["71",710],["72",720],["73",730],["72",720],["71",710],["72",720]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: fahrenheit half value\", \"actual\": [[\"73\", 730], [\"72\", 720], [\"71\", 710]], \"expected\": [[\"74\", 740], [\"73\", 730], [\"72\", 720]], \"passed\": false}, {\"check\": \"regression: scenario 7\", \"actual\": [[\"89\", 890], [\"90\", 900], [\"89\", 890], [\"90\", 900]], \"expected\": [[\"90\", 900], [\"90\", 900], [\"89\", 890], [\"90\", 900]], \"passed\": false}, {\"check\": \"control: celsius steps\", \"actual\": [[\"22.5\", 725], [\"23.0\", 734], [\"22.5\", 725]], \"expected\": [[\"22.5\", 725], [\"23.0\", 734], [\"22.5\", 725]], \"passed\": true}, {\"check\": \"control: upper clamp\", \"actual\": [[\"90\", 900]], \"expected\": [[\"90\", 900]], \"passed\": true}, {\"check\": \"control: celsius off-grid start\", \"actual\": [[\"21.5\", 707], [\"22.0\", 716]], \"expected\": [[\"21.5\", 707], [\"22.0\", 716]], \"passed\": true}, {\"check\": \"control: celsius lower clamp\", \"actual\": [[\"7.0\", 450], [\"7.0\", 450], [\"7.5\", 455]], \"expected\": [[\"7.0\", 450], [\"7.0\", 450], [\"7.5\", 455]], \"passed\": true}, {\"check\": \"control: celsius half-step display\", \"actual\": [[\"22.0\", 716]], \"expected\": [[\"22.0\", 716]], \"passed\": true}, {\"check\": \"regression: scenario 1\", \"actual\": [[\"71\", 710], [\"70\", 700], [\"71\", 710], [\"72\", 720], [\"73\", 730], [\"72\", 720], [\"71\", 710], [\"72\", 720]], \"expected\": [[\"71\", 710], [\"70\", 700], [\"71\", 710], [\"72\", 720], [\"73\", 730], [\"72\", 720], [\"71\", 710], [\"72\", 720]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.11,"exit_code":1,"observations":[{"actual":[["73",730],["72",720],["71",710]],"check":"regression: fahrenheit half value","expected":[["74",740],["73",730],["72",720]],"passed":false},{"actual":[["89",890],["90",900],["89",890],["90",900]],"check":"regression: scenario 7","expected":[["90",900],["90",900],["89",890],["90",900]],"passed":false},{"actual":[["22.5",725],["23.0",734],["22.5",725]],"check":"control: celsius steps","expected":[["22.5",725],["23.0",734],["22.5",725]],"passed":true},{"actual":[["90",900]],"check":"control: upper clamp","expected":[["90",900]],"passed":true},{"actual":[["21.5",707],["22.0",716]],"check":"control: celsius off-grid start","expected":[["21.5",707],["22.0",716]],"passed":true},{"actual":[["7.0",450],["7.0",450],["7.5",455]],"check":"control: celsius lower clamp","expected":[["7.0",450],["7.0",450],["7.5",455]],"passed":true},{"actual":[["22.0",716]],"check":"control: celsius half-step display","expected":[["22.0",716]],"passed":true},{"actual":[["70",700],["69",690],["70",700],["71",710],["72",720],["71",710],["70",700],["71",710]],"check":"regression: scenario 1","expected":[["71",710],["70",700],["71",710],["72",720],["73",730],["72",720],["71",710],["72",720]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: fahrenheit half value\", \"actual\": [[\"73\", 730], [\"72\", 720], [\"71\", 710]], \"expected\": [[\"74\", 740], [\"73\", 730], [\"72\", 720]], \"passed\": false}, {\"check\": \"regression: scenario 7\", \"actual\": [[\"89\", 890], [\"90\", 900], [\"89\", 890], [\"90\", 900]], \"expected\": [[\"90\", 900], [\"90\", 900], [\"89\", 890], [\"90\", 900]], \"passed\": false}, {\"check\": \"control: celsius steps\", \"actual\": [[\"22.5\", 725], [\"23.0\", 734], [\"22.5\", 725]], \"expected\": [[\"22.5\", 725], [\"23.0\", 734], [\"22.5\", 725]], \"passed\": true}, {\"check\": \"control: upper clamp\", \"actual\": [[\"90\", 900]], \"expected\": [[\"90\", 900]], \"passed\": true}, {\"check\": \"control: celsius off-grid start\", \"actual\": [[\"21.5\", 707], [\"22.0\", 716]], \"expected\": [[\"21.5\", 707], [\"22.0\", 716]], \"passed\": true}, {\"check\": \"control: celsius lower clamp\", \"actual\": [[\"7.0\", 450], [\"7.0\", 450], [\"7.5\", 455]], \"expected\": [[\"7.0\", 450], [\"7.0\", 450], [\"7.5\", 455]], \"passed\": true}, {\"check\": \"control: celsius half-step display\", \"actual\": [[\"22.0\", 716]], \"expected\": [[\"22.0\", 716]], \"passed\": true}, {\"check\": \"regression: scenario 1\", \"actual\": [[\"70\", 700], [\"69\", 690], [\"70\", 700], [\"71\", 710], [\"72\", 720], [\"71\", 710], [\"70\", 700], [\"71\", 710]], \"expected\": [[\"71\", 710], [\"70\", 700], [\"71\", 710], [\"72\", 720], [\"73\", 730], [\"72\", 720], [\"71\", 710], [\"72\", 720]], \"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."}}