{"abstract":"A completely dark signal raises no alarm.","category":"Railway interlocking logic","checks":8,"contract":"Aspects need lamps: G needs G; YY needs Y1 and Y2; Y needs Y1; R needs R. A lamp is lit if its main or auxiliary filament works. If the requested aspect cannot be lit, show the next more restrictive aspect that can (G, YY, Y, R); if even R cannot be lit the signal is DARK. alarm is raised if the signal is DARK or any lamp used by the shown aspect runs on its auxiliary filament. degraded means shown != requested.","evaluation_group":"w2-railway_interlocking_logic-lamp-proving-degradation","failed_approach":"Looking up lamps for DARK finds none and still does not alarm.","family":"w2-railway_interlocking_logic-lamp-proving-degradation-dark-signal-alarm","id":"FA-67171","implementations":{"attempt":{"sha256":"e0091c88e1438bcf820f421bf26c9fd6e9220f6d3afe6550585536b414159078","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    lamps = x['lamps']\n    need = {'G': ['G'], 'YY': ['Y1', 'Y2'], 'Y': ['Y1'], 'R': ['R']}\n    order = ['G', 'YY', 'Y', 'R']\n    def lit(l):\n        return lamps[l]['main'] or lamps[l]['aux']\n    shown = 'DARK'\n    for asp in order[order.index(x['requested']):]:\n        if all(lit(l) for l in need[asp]):\n            shown = asp\n            break\n    alarm = any(not lamps[l]['main'] for l in need.get(shown, []))\n    return {'shown': shown, 'alarm': alarm, 'degraded': shown != x['requested']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: green on auxiliary filament', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'G', 'alarm': True, 'degraded': False}), ('boundary: red on auxiliary filament', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('boundary: green lamp dead', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': True}), ('control 1', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 4', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 7', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: green lamp dead', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': True}), ('boundary: lower yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': True}), ('boundary: upper yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('control 12', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': False, 'aux': True}}}, {'shown': 'YY', 'alarm': False, 'degraded': False}), ('control 15', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('control 18', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': True, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 70', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: upper yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('boundary: unused lamp on auxiliary', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('boundary: second yellow on auxiliary', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('control 23', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('control 26', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('control 29', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: unused lamp on auxiliary', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('boundary: second yellow on auxiliary', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('boundary: all yellows dead', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('control 34', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('control 37', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False}), ('control 40', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: all yellows dead', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('boundary: green on auxiliary filament', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'G', 'alarm': True, 'degraded': False}), ('boundary: red on auxiliary filament', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('control 45', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': False}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 48', {'requested': 'G', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 51', {'requested': 'YY', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': False, 'degraded': False})]]\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":"065ec759ccc4791e38d9e0586cf1ea4fe7938c6d9fa908c436f1b53b7ab306c2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    lamps = x['lamps']\n    need = {'G': ['G'], 'YY': ['Y1', 'Y2'], 'Y': ['Y1'], 'R': ['R']}\n    order = ['G', 'YY', 'Y', 'R']\n    def lit(l):\n        return lamps[l]['main'] or lamps[l]['aux']\n    shown = 'DARK'\n    for asp in order[order.index(x['requested']):]:\n        if all(lit(l) for l in need[asp]):\n            shown = asp\n            break\n    alarm = shown != 'DARK' and any(not lamps[l]['main'] for l in need[shown])\n    return {'shown': shown, 'alarm': alarm, 'degraded': shown != x['requested']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: green on auxiliary filament', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'G', 'alarm': True, 'degraded': False}), ('boundary: red on auxiliary filament', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('boundary: green lamp dead', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': True}), ('control 1', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 4', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 7', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: green lamp dead', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': True}), ('boundary: lower yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': True}), ('boundary: upper yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('control 12', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': False, 'aux': True}}}, {'shown': 'YY', 'alarm': False, 'degraded': False}), ('control 15', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('control 18', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': True, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 70', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: upper yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('boundary: unused lamp on auxiliary', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('boundary: second yellow on auxiliary', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('control 23', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('control 26', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('control 29', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: unused lamp on auxiliary', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('boundary: second yellow on auxiliary', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('boundary: all yellows dead', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('control 34', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('control 37', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False}), ('control 40', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: all yellows dead', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('boundary: green on auxiliary filament', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'G', 'alarm': True, 'degraded': False}), ('boundary: red on auxiliary filament', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('control 45', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': False}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 48', {'requested': 'G', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 51', {'requested': 'YY', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': False, 'degraded': False})]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"99aedc0d7cfc64f67a42c9f8d764a5d190f335c26e75f955e1ffaf1e795dc4e8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    lamps = x['lamps']\n    need = {'G': ['G'], 'YY': ['Y1', 'Y2'], 'Y': ['Y1'], 'R': ['R']}\n    order = ['G', 'YY', 'Y', 'R']\n    def lit(l):\n        return lamps[l]['main'] or lamps[l]['aux']\n    shown = 'DARK'\n    for asp in order[order.index(x['requested']):]:\n        if all(lit(l) for l in need[asp]):\n            shown = asp\n            break\n    alarm = shown == 'DARK' or any(not lamps[l]['main'] for l in need[shown])\n    return {'shown': shown, 'alarm': alarm, 'degraded': shown != x['requested']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: green on auxiliary filament', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'G', 'alarm': True, 'degraded': False}), ('boundary: red on auxiliary filament', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('boundary: green lamp dead', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': True}), ('control 1', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 4', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 7', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: green lamp dead', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': True}), ('boundary: lower yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': True}), ('boundary: upper yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('control 12', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': False, 'aux': True}}}, {'shown': 'YY', 'alarm': False, 'degraded': False}), ('control 15', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('control 18', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': True, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 70', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: upper yellow dead under double yellow', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('boundary: unused lamp on auxiliary', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('boundary: second yellow on auxiliary', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('control 23', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('control 26', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': False}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('control 29', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: unused lamp on auxiliary', {'requested': 'Y', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'Y', 'alarm': False, 'degraded': False}), ('boundary: second yellow on auxiliary', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': True, 'degraded': False}), ('boundary: all yellows dead', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('control 34', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('control 37', {'requested': 'R', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': False}), ('control 40', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'YY', 'alarm': False, 'degraded': False})], [('regression: red lamp dead', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('sampled regression 43', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': False}}}, {'shown': 'DARK', 'alarm': True, 'degraded': True}), ('boundary: all yellows dead', {'requested': 'YY', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': False, 'aux': False}, 'Y2': {'main': False, 'aux': False}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': False, 'degraded': True}), ('boundary: green on auxiliary filament', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': False, 'aux': True}}}, {'shown': 'G', 'alarm': True, 'degraded': False}), ('boundary: red on auxiliary filament', {'requested': 'R', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'R', 'alarm': True, 'degraded': False}), ('control 45', {'requested': 'G', 'lamps': {'R': {'main': True, 'aux': True}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': True, 'aux': False}, 'G': {'main': True, 'aux': False}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 48', {'requested': 'G', 'lamps': {'R': {'main': False, 'aux': False}, 'Y1': {'main': True, 'aux': True}, 'Y2': {'main': False, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'G', 'alarm': False, 'degraded': False}), ('control 51', {'requested': 'YY', 'lamps': {'R': {'main': False, 'aux': True}, 'Y1': {'main': True, 'aux': False}, 'Y2': {'main': True, 'aux': True}, 'G': {'main': True, 'aux': True}}}, {'shown': 'YY', 'alarm': False, 'degraded': False})]]\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":"Stipulated toy interlocking contract for a bounded teaching model; it makes no claim of conformance to any railway signalling standard and omits real safety cases. 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-railway_interlocking_logic-lamp-proving-degradation-dark-signal-alarm","generated_at":"2026-09-29T14:47:50.456282+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Interlocking logic decides whether trains may be given authority; a wrong decision at this point either grants unsafe movements or strands traffic.","repair":"Always alarm a DARK signal.","root_cause":"The DARK state is excluded from alarming.","sha256":"99affcf0579047fa499df104dae4785b8677b6937bc2ecfbea4d023a5329ae1c","title":"Signal lamp proving and aspect degradation: dark signal alarm · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.044,"exit_code":1,"observations":[{"actual":{"alarm":false,"degraded":true,"shown":"DARK"},"check":"regression: red lamp dead","expected":{"alarm":true,"degraded":true,"shown":"DARK"},"passed":false},{"actual":{"alarm":false,"degraded":true,"shown":"DARK"},"check":"sampled regression 43","expected":{"alarm":true,"degraded":true,"shown":"DARK"},"passed":false},{"actual":{"alarm":true,"degraded":false,"shown":"G"},"check":"boundary: green on auxiliary filament","expected":{"alarm":true,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":true,"degraded":false,"shown":"R"},"check":"boundary: red on auxiliary filament","expected":{"alarm":true,"degraded":false,"shown":"R"},"passed":true},{"actual":{"alarm":false,"degraded":true,"shown":"YY"},"check":"boundary: green lamp dead","expected":{"alarm":false,"degraded":true,"shown":"YY"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"G"},"check":"control 1","expected":{"alarm":false,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"G"},"check":"control 4","expected":{"alarm":false,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"R"},"check":"control 7","expected":{"alarm":false,"degraded":false,"shown":"R"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: red lamp dead\", \"actual\": {\"shown\": \"DARK\", \"alarm\": false, \"degraded\": true}, \"expected\": {\"shown\": \"DARK\", \"alarm\": true, \"degraded\": true}, \"passed\": false}, {\"check\": \"sampled regression 43\", \"actual\": {\"shown\": \"DARK\", \"alarm\": false, \"degraded\": true}, \"expected\": {\"shown\": \"DARK\", \"alarm\": true, \"degraded\": true}, \"passed\": false}, {\"check\": \"boundary: green on auxiliary filament\", \"actual\": {\"shown\": \"G\", \"alarm\": true, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": true, \"degraded\": false}, \"passed\": true}, {\"check\": \"boundary: red on auxiliary filament\", \"actual\": {\"shown\": \"R\", \"alarm\": true, \"degraded\": false}, \"expected\": {\"shown\": \"R\", \"alarm\": true, \"degraded\": false}, \"passed\": true}, {\"check\": \"boundary: green lamp dead\", \"actual\": {\"shown\": \"YY\", \"alarm\": false, \"degraded\": true}, \"expected\": {\"shown\": \"YY\", \"alarm\": false, \"degraded\": true}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"shown\": \"R\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"R\", \"alarm\": false, \"degraded\": false}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.164,"exit_code":1,"observations":[{"actual":{"alarm":false,"degraded":true,"shown":"DARK"},"check":"regression: red lamp dead","expected":{"alarm":true,"degraded":true,"shown":"DARK"},"passed":false},{"actual":{"alarm":false,"degraded":true,"shown":"DARK"},"check":"sampled regression 43","expected":{"alarm":true,"degraded":true,"shown":"DARK"},"passed":false},{"actual":{"alarm":true,"degraded":false,"shown":"G"},"check":"boundary: green on auxiliary filament","expected":{"alarm":true,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":true,"degraded":false,"shown":"R"},"check":"boundary: red on auxiliary filament","expected":{"alarm":true,"degraded":false,"shown":"R"},"passed":true},{"actual":{"alarm":false,"degraded":true,"shown":"YY"},"check":"boundary: green lamp dead","expected":{"alarm":false,"degraded":true,"shown":"YY"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"G"},"check":"control 1","expected":{"alarm":false,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"G"},"check":"control 4","expected":{"alarm":false,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"R"},"check":"control 7","expected":{"alarm":false,"degraded":false,"shown":"R"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: red lamp dead\", \"actual\": {\"shown\": \"DARK\", \"alarm\": false, \"degraded\": true}, \"expected\": {\"shown\": \"DARK\", \"alarm\": true, \"degraded\": true}, \"passed\": false}, {\"check\": \"sampled regression 43\", \"actual\": {\"shown\": \"DARK\", \"alarm\": false, \"degraded\": true}, \"expected\": {\"shown\": \"DARK\", \"alarm\": true, \"degraded\": true}, \"passed\": false}, {\"check\": \"boundary: green on auxiliary filament\", \"actual\": {\"shown\": \"G\", \"alarm\": true, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": true, \"degraded\": false}, \"passed\": true}, {\"check\": \"boundary: red on auxiliary filament\", \"actual\": {\"shown\": \"R\", \"alarm\": true, \"degraded\": false}, \"expected\": {\"shown\": \"R\", \"alarm\": true, \"degraded\": false}, \"passed\": true}, {\"check\": \"boundary: green lamp dead\", \"actual\": {\"shown\": \"YY\", \"alarm\": false, \"degraded\": true}, \"expected\": {\"shown\": \"YY\", \"alarm\": false, \"degraded\": true}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"shown\": \"R\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"R\", \"alarm\": false, \"degraded\": false}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.819,"exit_code":0,"observations":[{"actual":{"alarm":true,"degraded":true,"shown":"DARK"},"check":"regression: red lamp dead","expected":{"alarm":true,"degraded":true,"shown":"DARK"},"passed":true},{"actual":{"alarm":true,"degraded":true,"shown":"DARK"},"check":"sampled regression 43","expected":{"alarm":true,"degraded":true,"shown":"DARK"},"passed":true},{"actual":{"alarm":true,"degraded":false,"shown":"G"},"check":"boundary: green on auxiliary filament","expected":{"alarm":true,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":true,"degraded":false,"shown":"R"},"check":"boundary: red on auxiliary filament","expected":{"alarm":true,"degraded":false,"shown":"R"},"passed":true},{"actual":{"alarm":false,"degraded":true,"shown":"YY"},"check":"boundary: green lamp dead","expected":{"alarm":false,"degraded":true,"shown":"YY"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"G"},"check":"control 1","expected":{"alarm":false,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"G"},"check":"control 4","expected":{"alarm":false,"degraded":false,"shown":"G"},"passed":true},{"actual":{"alarm":false,"degraded":false,"shown":"R"},"check":"control 7","expected":{"alarm":false,"degraded":false,"shown":"R"},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: red lamp dead\", \"actual\": {\"shown\": \"DARK\", \"alarm\": true, \"degraded\": true}, \"expected\": {\"shown\": \"DARK\", \"alarm\": true, \"degraded\": true}, \"passed\": true}, {\"check\": \"sampled regression 43\", \"actual\": {\"shown\": \"DARK\", \"alarm\": true, \"degraded\": true}, \"expected\": {\"shown\": \"DARK\", \"alarm\": true, \"degraded\": true}, \"passed\": true}, {\"check\": \"boundary: green on auxiliary filament\", \"actual\": {\"shown\": \"G\", \"alarm\": true, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": true, \"degraded\": false}, \"passed\": true}, {\"check\": \"boundary: red on auxiliary filament\", \"actual\": {\"shown\": \"R\", \"alarm\": true, \"degraded\": false}, \"expected\": {\"shown\": \"R\", \"alarm\": true, \"degraded\": false}, \"passed\": true}, {\"check\": \"boundary: green lamp dead\", \"actual\": {\"shown\": \"YY\", \"alarm\": false, \"degraded\": true}, \"expected\": {\"shown\": \"YY\", \"alarm\": false, \"degraded\": true}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"G\", \"alarm\": false, \"degraded\": false}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"shown\": \"R\", \"alarm\": false, \"degraded\": false}, \"expected\": {\"shown\": \"R\", \"alarm\": false, \"degraded\": false}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}