{"abstract":"A unit that tripped twice last week hard-locks on a single trip today.","category":"HVAC thermostat control","checks":8,"contract":"Compressor pressure-switch lockout per minute; samples are [call, hp_ok, lp_ok] where call may also be \"reset\". While running, an open high-pressure switch trips at once; the low-pressure switch is ignored for the first 2 minutes after start. A trip enters a 5-minute soft lockout, after which the unit retries automatically if still called. The third trip within a sliding 60-minute window (trips older than 60 minutes are forgotten) causes a hard lockout that only reset clears; reset also clears the trip history. Return run, idle, soft or hard per minute.","contract_signature":"samples","evaluation_group":"w2-hvac-thermostat-control-pressure-switch-lockout","failed_approach":"Keeping trips exactly 60 minutes old still counts one expired trip.","family":"w2-hvac-thermostat-control-pressure-switch-lockout-trip-window","id":"FA-92691","implementations":{"attempt":{"sha256":"e0c79b434923baa97b9c3e1ace3d74d4396bbce22e8135c8d39064f722200eae","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(samples):\n    state = 'idle'\n    trips = []\n    start_at = None\n    soft_until = None\n    out = []\n    for minute, (call, hp_ok, lp_ok) in enumerate(samples):\n        if call == 'reset':\n            state = 'idle'\n            trips = []\n            out.append(state)\n            continue\n        if state == 'soft' and minute >= soft_until:\n            state = 'idle'\n        if state == 'run':\n            lp_fault = not lp_ok and minute - start_at >= 2\n            if not hp_ok or lp_fault:\n                trips = [t for t in trips if minute - t <= 60] + [minute]\n                if len(trips) >= 3:\n                    state = 'hard'\n                else:\n                    state = 'soft'\n                    soft_until = minute + 5\n            elif not call:\n                state = 'idle'\n        if state == 'idle' and call:\n            state = 'run'\n            start_at = minute\n        out.append(state)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]],\n [['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]],\n [['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]],\n [['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]],\n [['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]]]\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":"bbcbbfb6375811b3910e8c4a09cb85f8ada170ebc4bbe1b64cacdad1cc87afd8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(samples):\n    state = 'idle'\n    trips = []\n    start_at = None\n    soft_until = None\n    out = []\n    for minute, (call, hp_ok, lp_ok) in enumerate(samples):\n        if call == 'reset':\n            state = 'idle'\n            trips = []\n            out.append(state)\n            continue\n        if state == 'soft' and minute >= soft_until:\n            state = 'idle'\n        if state == 'run':\n            lp_fault = not lp_ok and minute - start_at >= 2\n            if not hp_ok or lp_fault:\n                trips = trips + [minute]\n                if len(trips) >= 3:\n                    state = 'hard'\n                else:\n                    state = 'soft'\n                    soft_until = minute + 5\n            elif not call:\n                state = 'idle'\n        if state == 'idle' and call:\n            state = 'run'\n            start_at = minute\n        out.append(state)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]],\n [['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]],\n [['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]],\n [['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]],\n [['regression: trip exactly an hour old',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: low pressure bypass and retry',\n   [[[True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, False],\n     [True, True, False],\n     [True, True, False],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft']],\n  ['control: three trips hard lockout',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft']],\n  ['control: high pressure during suction dip',\n   [[[True, True, True],\n     [True, False, False],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run', 'run']],\n  ['control: high pressure at start',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run', 'soft', 'soft', 'soft', 'soft', 'soft', 'run', 'run']],\n  ['regression: old trips expire',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft']],\n  ['control: trip late in long run',\n   [[[True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True]]],\n   ['run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'run']],\n  ['control: reset during hard with recent trips',\n   [[[True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     ['reset', True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, True, True],\n     [True, False, True],\n     [True, True, True]]],\n   ['run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'hard',\n    'idle',\n    'run',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'soft',\n    'run',\n    'run',\n    'soft',\n    'soft']]]]\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-pressure-switch-lockout-trip-window","generated_at":"2026-09-29T14:51:48.267216+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":"Trips outside the 60-minute window are not pruned.","sha256":"d5a7debe69b91740b94f6325141db0f7637ef715bd8ba54ffc8a2ffdf9130496","title":"Lockout trip history never forgets old trips · 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":48.554,"exit_code":1,"observations":[{"actual":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","hard","hard","hard"],"check":"regression: trip exactly an hour old","expected":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","soft","soft","soft"],"passed":false},{"actual":["run","run","soft","soft","soft","soft","soft","run","run","run","run","soft","soft","soft","soft"],"check":"control: low pressure bypass and retry","expected":["run","run","soft","soft","soft","soft","soft","run","run","run","run","soft","soft","soft","soft"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","hard","hard","idle","run","soft","soft"],"check":"control: three trips hard lockout","expected":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","hard","hard","idle","run","soft","soft"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","run","run"],"check":"control: high pressure during suction dip","expected":["run","soft","soft","soft","soft","soft","run","run","run"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","run"],"check":"control: high pressure at start","expected":["run","soft","soft","soft","soft","soft","run","run"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","run","soft","soft","soft","soft","soft","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","soft","soft"],"check":"regression: old trips expire","expected":["run","soft","soft","soft","soft","soft","run","run","soft","soft","soft","soft","soft","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","soft","soft"],"passed":true},{"actual":["run","run","run","run","run","run","run","run","soft","soft","soft","soft","soft","run","run","run"],"check":"control: trip late in long run","expected":["run","run","run","run","run","run","run","run","soft","soft","soft","soft","soft","run","run","run"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","hard","idle","run","soft","soft","soft","soft","soft","run","run","soft","soft"],"check":"control: reset during hard with recent trips","expected":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","hard","idle","run","soft","soft","soft","soft","soft","run","run","soft","soft"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: trip exactly an hour old\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"hard\", \"hard\", \"hard\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\"], \"passed\": false}, {\"check\": \"control: low pressure bypass and retry\", \"actual\": [\"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\"], \"expected\": [\"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\"], \"passed\": true}, {\"check\": \"control: three trips hard lockout\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"hard\", \"hard\", \"idle\", \"run\", \"soft\", \"soft\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"hard\", \"hard\", \"idle\", \"run\", \"soft\", \"soft\"], \"passed\": true}, {\"check\": \"control: high pressure during suction dip\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\"], \"passed\": true}, {\"check\": \"control: high pressure at start\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\"], \"passed\": true}, {\"check\": \"regression: old trips expire\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\"], \"passed\": true}, {\"check\": \"control: trip late in long run\", \"actual\": [\"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\"], \"expected\": [\"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\"], \"passed\": true}, {\"check\": \"control: reset during hard with recent trips\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"hard\", \"idle\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"soft\", \"soft\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"hard\", \"idle\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"soft\", \"soft\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":51.303,"exit_code":1,"observations":[{"actual":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","hard","hard","hard"],"check":"regression: trip exactly an hour old","expected":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","soft","soft","soft"],"passed":false},{"actual":["run","run","soft","soft","soft","soft","soft","run","run","run","run","soft","soft","soft","soft"],"check":"control: low pressure bypass and retry","expected":["run","run","soft","soft","soft","soft","soft","run","run","run","run","soft","soft","soft","soft"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","hard","hard","idle","run","soft","soft"],"check":"control: three trips hard lockout","expected":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","hard","hard","idle","run","soft","soft"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","run","run"],"check":"control: high pressure during suction dip","expected":["run","soft","soft","soft","soft","soft","run","run","run"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","run"],"check":"control: high pressure at start","expected":["run","soft","soft","soft","soft","soft","run","run"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","run","soft","soft","soft","soft","soft","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","hard","hard"],"check":"regression: old trips expire","expected":["run","soft","soft","soft","soft","soft","run","run","soft","soft","soft","soft","soft","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","run","soft","soft"],"passed":false},{"actual":["run","run","run","run","run","run","run","run","soft","soft","soft","soft","soft","run","run","run"],"check":"control: trip late in long run","expected":["run","run","run","run","run","run","run","run","soft","soft","soft","soft","soft","run","run","run"],"passed":true},{"actual":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","hard","idle","run","soft","soft","soft","soft","soft","run","run","soft","soft"],"check":"control: reset during hard with recent trips","expected":["run","soft","soft","soft","soft","soft","run","soft","soft","soft","soft","soft","run","hard","idle","run","soft","soft","soft","soft","soft","run","run","soft","soft"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: trip exactly an hour old\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"hard\", \"hard\", \"hard\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\"], \"passed\": false}, {\"check\": \"control: low pressure bypass and retry\", \"actual\": [\"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\"], \"expected\": [\"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\"], \"passed\": true}, {\"check\": \"control: three trips hard lockout\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"hard\", \"hard\", \"idle\", \"run\", \"soft\", \"soft\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"hard\", \"hard\", \"idle\", \"run\", \"soft\", \"soft\"], \"passed\": true}, {\"check\": \"control: high pressure during suction dip\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\"], \"passed\": true}, {\"check\": \"control: high pressure at start\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\"], \"passed\": true}, {\"check\": \"regression: old trips expire\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"hard\", \"hard\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\"], \"passed\": false}, {\"check\": \"control: trip late in long run\", \"actual\": [\"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\"], \"expected\": [\"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"run\"], \"passed\": true}, {\"check\": \"control: reset during hard with recent trips\", \"actual\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"hard\", \"idle\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"soft\", \"soft\"], \"expected\": [\"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"hard\", \"idle\", \"run\", \"soft\", \"soft\", \"soft\", \"soft\", \"soft\", \"run\", \"run\", \"soft\", \"soft\"], \"passed\": true}], \"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."}}