{"abstract":"Resetting the sequencer changes the machine outputs instead of only rewinding the position.","category":"PLC ladder logic scan cycles","checks":8,"contract":"Sequencer output (SQO). words is the sequencer file whose element 0 is the home step; position starts at 0. On each rising edge of enable the position advances; past the last element it wraps to 1 (not 0). Each advance writes dest = (dest AND NOT mask) OR (word AND mask) in 16 bits. A reset input returns position to 0 without writing dest and has priority over a coincident advance; the enable edge memory is always updated. steps is a list of [enable, reset]; return [position, dest] per scan.","evaluation_group":"w2-plc-ladder-logic-scan-cycles-sqo-sequencer","failed_approach":"Clearing the masked bits on reset still changes outputs.","family":"w2-plc-ladder-logic-scan-cycles-sqo-sequencer-reset-writes-output","id":"FA-92101","implementations":{"attempt":{"sha256":"ef792e15a5bc6ea63ebc906d50584f44e396586816c683be16c0af739f479afc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(words, mask, start_dest, steps):\n    pos = 0\n    dest = start_dest\n    prev = False\n    length = len(words) - 1\n    out = []\n    for en, res in steps:\n        en = bool(en)\n        if res:\n            pos = 0\n            dest = dest & ~mask & 0xFFFF\n        elif en and not prev:\n            pos += 1\n            if pos > length:\n                pos = 1\n            dest = (dest & ~mask & 0xFFFF) | (words[pos] & mask)\n        prev = en\n        out.append([pos, dest])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['regression: scenario 1',\n   [[26918, 50611, 8879, 59828],\n    65535,\n    52597,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False]]],\n   [[0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [1, 50611],\n    [1, 50611],\n    [1, 50611]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 2',\n   [[42968, 29173, 43546],\n    255,\n    5794,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [False, False]]],\n   [[1, 5877],\n    [1, 5877],\n    [1, 5877],\n    [1, 5877],\n    [2, 5658],\n    [2, 5658],\n    [2, 5658],\n    [2, 5658],\n    [0, 5658],\n    [0, 5658]]],\n  ['control: scenario 3',\n   [[16785, 47110, 21847, 45361],\n    61440,\n    41889,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False]]],\n   [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]]],\n  ['control: scenario 4',\n   [[26660, 61415, 54040],\n    65535,\n    45106,\n    [[True, False], [True, False], [True, False], [False, False], [False, False], [True, False]]],\n   [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]]]],\n [['regression: scenario 2',\n   [[43079, 20640, 23622, 26553],\n    255,\n    15109,\n    [[False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, True]]],\n   [[0, 15109],\n    [0, 15109],\n    [1, 15264],\n    [1, 15264],\n    [1, 15264],\n    [1, 15264],\n    [2, 15174],\n    [2, 15174],\n    [2, 15174],\n    [2, 15174],\n    [3, 15289],\n    [0, 15289]]],\n  ['regression: scenario 6',\n   [[49034, 36252],\n    255,\n    16341,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [True, True],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, True],\n     [True, False]]],\n   [[1, 16284],\n    [1, 16284],\n    [1, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [1, 16284]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['control: scenario 1',\n   [[8488, 43469, 38296, 4034],\n    255,\n    44563,\n    [[False, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False]]],\n   [[0, 44563],\n    [1, 44749],\n    [1, 44749],\n    [1, 44749],\n    [1, 44749],\n    [2, 44696],\n    [2, 44696],\n    [3, 44738],\n    [3, 44738],\n    [1, 44749],\n    [1, 44749],\n    [2, 44696]]],\n  ['control: scenario 3',\n   [[16618, 36272, 41924, 55813],\n    3855,\n    48911,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False]]],\n   [[1, 48384], [1, 48384], [1, 48384], [1, 48384], [1, 48384], [2, 45828], [2, 45828]]]],\n [['regression: scenario 2',\n   [[36741, 30504],\n    65535,\n    26589,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [True, False],\n     [False, False]]],\n   [[1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [0, 30504],\n    [0, 30504],\n    [0, 30504]]],\n  ['regression: scenario 3',\n   [[45414, 65173, 31151, 4829],\n    3855,\n    46402,\n    [[False, True],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [True, False]]],\n   [[0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [1, 48709],\n    [1, 48709],\n    [1, 48709]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 1',\n   [[38610, 2229],\n    65535,\n    14704,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, True],\n     [False, False]]],\n   [[0, 14704], [0, 14704], [0, 14704], [0, 14704], [0, 14704], [1, 2229], [1, 2229], [0, 2229], [0, 2229]]],\n  ['regression: scenario 4',\n   [[29784, 63854],\n    255,\n    25258,\n    [[False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 25258],\n    [1, 25198],\n    [1, 25198],\n    [1, 25198],\n    [0, 25198],\n    [0, 25198],\n    [0, 25198],\n    [1, 25198],\n    [1, 25198],\n    [0, 25198],\n    [0, 25198],\n    [0, 25198],\n    [1, 25198],\n    [0, 25198]]]],\n [['regression: scenario 5',\n   [[47154, 32327, 23912, 32399],\n    3855,\n    21368,\n    [[False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 21368],\n    [0, 21368],\n    [0, 21368],\n    [1, 24183],\n    [1, 24183],\n    [1, 24183],\n    [2, 23928],\n    [2, 23928],\n    [2, 23928],\n    [3, 24191],\n    [0, 24191]]],\n  ['regression: scenario 6',\n   [[41259, 64194, 24167],\n    255,\n    50548,\n    [[True, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False]]],\n   [[1, 50626], [1, 50626], [0, 50626], [0, 50626], [1, 50626], [1, 50626], [1, 50626]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['control: scenario 1',\n   [[61786, 58708],\n    255,\n    45362,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[0, 45362], [0, 45362], [0, 45362], [1, 45396], [1, 45396], [1, 45396], [1, 45396]]],\n  ['control: scenario 2',\n   [[57902, 51779],\n    61440,\n    26811,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387]]]],\n [['regression: scenario 5',\n   [[50120, 43705, 18219, 64249, 48621],\n    65535,\n    42460,\n    [[False, False],\n     [False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[0, 42460], [0, 42460], [0, 42460], [0, 42460], [1, 43705], [1, 43705], [1, 43705], [2, 18219]]],\n  ['regression: scenario 6',\n   [[49875, 17863, 34135],\n    3855,\n    57202,\n    [[False, False], [True, False], [True, False], [True, True], [False, False], [False, False]]],\n   [[0, 57202], [1, 54647], [1, 54647], [0, 54647], [0, 54647], [0, 54647]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 1',\n   [[39974, 26951],\n    3855,\n    4546,\n    [[False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 4546],\n    [0, 4546],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [0, 6599]]],\n  ['regression: scenario 2',\n   [[43067, 57880, 6921, 33106, 51712],\n    255,\n    13830,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, True],\n     [True, True],\n     [False, False],\n     [True, False],\n     [False, False]]],\n   [[1, 13848],\n    [1, 13848],\n    [1, 13848],\n    [2, 13833],\n    [2, 13833],\n    [2, 13833],\n    [3, 13906],\n    [3, 13906],\n    [0, 13906],\n    [0, 13906],\n    [0, 13906],\n    [1, 13848],\n    [1, 13848]]]]]\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":"606b150ef8ba98e34c0e7f8a0d7766bad86ec7d446c40ad4ff8f66e47463f638","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(words, mask, start_dest, steps):\n    pos = 0\n    dest = start_dest\n    prev = False\n    length = len(words) - 1\n    out = []\n    for en, res in steps:\n        en = bool(en)\n        if res:\n            pos = 0\n            dest = (dest & ~mask & 0xFFFF) | (words[0] & mask)\n        elif en and not prev:\n            pos += 1\n            if pos > length:\n                pos = 1\n            dest = (dest & ~mask & 0xFFFF) | (words[pos] & mask)\n        prev = en\n        out.append([pos, dest])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['regression: scenario 1',\n   [[26918, 50611, 8879, 59828],\n    65535,\n    52597,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False]]],\n   [[0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [1, 50611],\n    [1, 50611],\n    [1, 50611]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 2',\n   [[42968, 29173, 43546],\n    255,\n    5794,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [False, False]]],\n   [[1, 5877],\n    [1, 5877],\n    [1, 5877],\n    [1, 5877],\n    [2, 5658],\n    [2, 5658],\n    [2, 5658],\n    [2, 5658],\n    [0, 5658],\n    [0, 5658]]],\n  ['control: scenario 3',\n   [[16785, 47110, 21847, 45361],\n    61440,\n    41889,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False]]],\n   [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]]],\n  ['control: scenario 4',\n   [[26660, 61415, 54040],\n    65535,\n    45106,\n    [[True, False], [True, False], [True, False], [False, False], [False, False], [True, False]]],\n   [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]]]],\n [['regression: scenario 2',\n   [[43079, 20640, 23622, 26553],\n    255,\n    15109,\n    [[False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, True]]],\n   [[0, 15109],\n    [0, 15109],\n    [1, 15264],\n    [1, 15264],\n    [1, 15264],\n    [1, 15264],\n    [2, 15174],\n    [2, 15174],\n    [2, 15174],\n    [2, 15174],\n    [3, 15289],\n    [0, 15289]]],\n  ['regression: scenario 6',\n   [[49034, 36252],\n    255,\n    16341,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [True, True],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, True],\n     [True, False]]],\n   [[1, 16284],\n    [1, 16284],\n    [1, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [1, 16284]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['control: scenario 1',\n   [[8488, 43469, 38296, 4034],\n    255,\n    44563,\n    [[False, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False]]],\n   [[0, 44563],\n    [1, 44749],\n    [1, 44749],\n    [1, 44749],\n    [1, 44749],\n    [2, 44696],\n    [2, 44696],\n    [3, 44738],\n    [3, 44738],\n    [1, 44749],\n    [1, 44749],\n    [2, 44696]]],\n  ['control: scenario 3',\n   [[16618, 36272, 41924, 55813],\n    3855,\n    48911,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False]]],\n   [[1, 48384], [1, 48384], [1, 48384], [1, 48384], [1, 48384], [2, 45828], [2, 45828]]]],\n [['regression: scenario 2',\n   [[36741, 30504],\n    65535,\n    26589,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [True, False],\n     [False, False]]],\n   [[1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [0, 30504],\n    [0, 30504],\n    [0, 30504]]],\n  ['regression: scenario 3',\n   [[45414, 65173, 31151, 4829],\n    3855,\n    46402,\n    [[False, True],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [True, False]]],\n   [[0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [1, 48709],\n    [1, 48709],\n    [1, 48709]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 1',\n   [[38610, 2229],\n    65535,\n    14704,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, True],\n     [False, False]]],\n   [[0, 14704], [0, 14704], [0, 14704], [0, 14704], [0, 14704], [1, 2229], [1, 2229], [0, 2229], [0, 2229]]],\n  ['regression: scenario 4',\n   [[29784, 63854],\n    255,\n    25258,\n    [[False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 25258],\n    [1, 25198],\n    [1, 25198],\n    [1, 25198],\n    [0, 25198],\n    [0, 25198],\n    [0, 25198],\n    [1, 25198],\n    [1, 25198],\n    [0, 25198],\n    [0, 25198],\n    [0, 25198],\n    [1, 25198],\n    [0, 25198]]]],\n [['regression: scenario 5',\n   [[47154, 32327, 23912, 32399],\n    3855,\n    21368,\n    [[False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 21368],\n    [0, 21368],\n    [0, 21368],\n    [1, 24183],\n    [1, 24183],\n    [1, 24183],\n    [2, 23928],\n    [2, 23928],\n    [2, 23928],\n    [3, 24191],\n    [0, 24191]]],\n  ['regression: scenario 6',\n   [[41259, 64194, 24167],\n    255,\n    50548,\n    [[True, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False]]],\n   [[1, 50626], [1, 50626], [0, 50626], [0, 50626], [1, 50626], [1, 50626], [1, 50626]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['control: scenario 1',\n   [[61786, 58708],\n    255,\n    45362,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[0, 45362], [0, 45362], [0, 45362], [1, 45396], [1, 45396], [1, 45396], [1, 45396]]],\n  ['control: scenario 2',\n   [[57902, 51779],\n    61440,\n    26811,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387]]]],\n [['regression: scenario 5',\n   [[50120, 43705, 18219, 64249, 48621],\n    65535,\n    42460,\n    [[False, False],\n     [False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[0, 42460], [0, 42460], [0, 42460], [0, 42460], [1, 43705], [1, 43705], [1, 43705], [2, 18219]]],\n  ['regression: scenario 6',\n   [[49875, 17863, 34135],\n    3855,\n    57202,\n    [[False, False], [True, False], [True, False], [True, True], [False, False], [False, False]]],\n   [[0, 57202], [1, 54647], [1, 54647], [0, 54647], [0, 54647], [0, 54647]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 1',\n   [[39974, 26951],\n    3855,\n    4546,\n    [[False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 4546],\n    [0, 4546],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [0, 6599]]],\n  ['regression: scenario 2',\n   [[43067, 57880, 6921, 33106, 51712],\n    255,\n    13830,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, True],\n     [True, True],\n     [False, False],\n     [True, False],\n     [False, False]]],\n   [[1, 13848],\n    [1, 13848],\n    [1, 13848],\n    [2, 13833],\n    [2, 13833],\n    [2, 13833],\n    [3, 13906],\n    [3, 13906],\n    [0, 13906],\n    [0, 13906],\n    [0, 13906],\n    [1, 13848],\n    [1, 13848]]]]]\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":"91c2a3eeda98258bcfe27fa2e0a07432184345b801c439eb972adf00cd19e6ef","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(words, mask, start_dest, steps):\n    pos = 0\n    dest = start_dest\n    prev = False\n    length = len(words) - 1\n    out = []\n    for en, res in steps:\n        en = bool(en)\n        if res:\n            pos = 0\n        elif en and not prev:\n            pos += 1\n            if pos > length:\n                pos = 1\n            dest = (dest & ~mask & 0xFFFF) | (words[pos] & mask)\n        prev = en\n        out.append([pos, dest])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['regression: scenario 1',\n   [[26918, 50611, 8879, 59828],\n    65535,\n    52597,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False]]],\n   [[0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [0, 52597],\n    [1, 50611],\n    [1, 50611],\n    [1, 50611]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 2',\n   [[42968, 29173, 43546],\n    255,\n    5794,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [False, False]]],\n   [[1, 5877],\n    [1, 5877],\n    [1, 5877],\n    [1, 5877],\n    [2, 5658],\n    [2, 5658],\n    [2, 5658],\n    [2, 5658],\n    [0, 5658],\n    [0, 5658]]],\n  ['control: scenario 3',\n   [[16785, 47110, 21847, 45361],\n    61440,\n    41889,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False]]],\n   [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]]],\n  ['control: scenario 4',\n   [[26660, 61415, 54040],\n    65535,\n    45106,\n    [[True, False], [True, False], [True, False], [False, False], [False, False], [True, False]]],\n   [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]]]],\n [['regression: scenario 2',\n   [[43079, 20640, 23622, 26553],\n    255,\n    15109,\n    [[False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, True]]],\n   [[0, 15109],\n    [0, 15109],\n    [1, 15264],\n    [1, 15264],\n    [1, 15264],\n    [1, 15264],\n    [2, 15174],\n    [2, 15174],\n    [2, 15174],\n    [2, 15174],\n    [3, 15289],\n    [0, 15289]]],\n  ['regression: scenario 6',\n   [[49034, 36252],\n    255,\n    16341,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [True, True],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, True],\n     [True, False]]],\n   [[1, 16284],\n    [1, 16284],\n    [1, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [0, 16284],\n    [1, 16284]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['control: scenario 1',\n   [[8488, 43469, 38296, 4034],\n    255,\n    44563,\n    [[False, False],\n     [True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False]]],\n   [[0, 44563],\n    [1, 44749],\n    [1, 44749],\n    [1, 44749],\n    [1, 44749],\n    [2, 44696],\n    [2, 44696],\n    [3, 44738],\n    [3, 44738],\n    [1, 44749],\n    [1, 44749],\n    [2, 44696]]],\n  ['control: scenario 3',\n   [[16618, 36272, 41924, 55813],\n    3855,\n    48911,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False]]],\n   [[1, 48384], [1, 48384], [1, 48384], [1, 48384], [1, 48384], [2, 45828], [2, 45828]]]],\n [['regression: scenario 2',\n   [[36741, 30504],\n    65535,\n    26589,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, True],\n     [True, False],\n     [False, False]]],\n   [[1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [1, 30504],\n    [0, 30504],\n    [0, 30504],\n    [0, 30504]]],\n  ['regression: scenario 3',\n   [[45414, 65173, 31151, 4829],\n    3855,\n    46402,\n    [[False, True],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [True, False]]],\n   [[0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [0, 46402],\n    [1, 48709],\n    [1, 48709],\n    [1, 48709]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 1',\n   [[38610, 2229],\n    65535,\n    14704,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, True],\n     [False, False]]],\n   [[0, 14704], [0, 14704], [0, 14704], [0, 14704], [0, 14704], [1, 2229], [1, 2229], [0, 2229], [0, 2229]]],\n  ['regression: scenario 4',\n   [[29784, 63854],\n    255,\n    25258,\n    [[False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 25258],\n    [1, 25198],\n    [1, 25198],\n    [1, 25198],\n    [0, 25198],\n    [0, 25198],\n    [0, 25198],\n    [1, 25198],\n    [1, 25198],\n    [0, 25198],\n    [0, 25198],\n    [0, 25198],\n    [1, 25198],\n    [0, 25198]]]],\n [['regression: scenario 5',\n   [[47154, 32327, 23912, 32399],\n    3855,\n    21368,\n    [[False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 21368],\n    [0, 21368],\n    [0, 21368],\n    [1, 24183],\n    [1, 24183],\n    [1, 24183],\n    [2, 23928],\n    [2, 23928],\n    [2, 23928],\n    [3, 24191],\n    [0, 24191]]],\n  ['regression: scenario 6',\n   [[41259, 64194, 24167],\n    255,\n    50548,\n    [[True, False],\n     [False, False],\n     [True, True],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False]]],\n   [[1, 50626], [1, 50626], [0, 50626], [0, 50626], [1, 50626], [1, 50626], [1, 50626]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['control: scenario 1',\n   [[61786, 58708],\n    255,\n    45362,\n    [[False, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[0, 45362], [0, 45362], [0, 45362], [1, 45396], [1, 45396], [1, 45396], [1, 45396]]],\n  ['control: scenario 2',\n   [[57902, 51779],\n    61440,\n    26811,\n    [[True, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387], [1, 51387]]]],\n [['regression: scenario 5',\n   [[50120, 43705, 18219, 64249, 48621],\n    65535,\n    42460,\n    [[False, False],\n     [False, True],\n     [False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False]]],\n   [[0, 42460], [0, 42460], [0, 42460], [0, 42460], [1, 43705], [1, 43705], [1, 43705], [2, 18219]]],\n  ['regression: scenario 6',\n   [[49875, 17863, 34135],\n    3855,\n    57202,\n    [[False, False], [True, False], [True, False], [True, True], [False, False], [False, False]]],\n   [[0, 57202], [1, 54647], [1, 54647], [0, 54647], [0, 54647], [0, 54647]]],\n  ['control: wrap past last step',\n   [[0, 17, 34],\n    255,\n    43776,\n    [[True, False], [False, False], [True, False], [False, False], [True, False], [True, False]]],\n   [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]]],\n  ['control: two element file',\n   [[5, 9], 65535, 0, [[True, False], [False, False], [True, False], [False, False], [True, False]]],\n   [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]]],\n  ['regression: reset while enabled',\n   [[0, 3, 12], 15, 65520, [[True, False], [True, True], [False, False], [True, False]]],\n   [[1, 65523], [0, 65523], [0, 65523], [1, 65523]]],\n  ['control: reset with advance',\n   [[0, 256, 512], 65280, 170, [[False, False], [True, True], [False, False], [True, False]]],\n   [[0, 170], [0, 170], [0, 170], [1, 426]]],\n  ['regression: scenario 1',\n   [[39974, 26951],\n    3855,\n    4546,\n    [[False, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, True]]],\n   [[0, 4546],\n    [0, 4546],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [1, 6599],\n    [0, 6599]]],\n  ['regression: scenario 2',\n   [[43067, 57880, 6921, 33106, 51712],\n    255,\n    13830,\n    [[True, False],\n     [False, False],\n     [False, False],\n     [True, False],\n     [True, False],\n     [False, False],\n     [True, False],\n     [False, False],\n     [True, True],\n     [True, True],\n     [False, False],\n     [True, False],\n     [False, False]]],\n   [[1, 13848],\n    [1, 13848],\n    [1, 13848],\n    [2, 13833],\n    [2, 13833],\n    [2, 13833],\n    [3, 13906],\n    [3, 13906],\n    [0, 13906],\n    [0, 13906],\n    [0, 13906],\n    [1, 13848],\n    [1, 13848]]]]]\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 PLC instruction or rung pattern evaluated scan by scan. The stated contract is a stipulated toy convention, not a claim of conformance to any vendor controller or IEC 61131-3 runtime. 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-plc-ladder-logic-scan-cycles-sqo-sequencer-reset-writes-output","generated_at":"2026-09-29T14:51:42.508798+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Ladder programs are executed as repeated scans; each defect here changes what a rung, timer, counter or data-table instruction reports on a particular scan, which is how commissioning and field faults are actually observed.","repair":"Reset only sets the position to 0; dest keeps its last value.","root_cause":"The reset branch applies the masked home word to dest.","sha256":"afd8c425812e8ab861a144a35541e2c85f55705510ae04c7b319af624a575447","title":"Sequencer reset writes the home word to the destination · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.559,"exit_code":1,"observations":[{"actual":[[1,65523],[0,65520],[0,65520],[1,65523]],"check":"regression: reset while enabled","expected":[[1,65523],[0,65523],[0,65523],[1,65523]],"passed":false},{"actual":[[0,52597],[0,52597],[0,52597],[0,0],[0,0],[0,0],[0,0],[1,50611],[1,50611],[1,50611]],"check":"regression: scenario 1","expected":[[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[1,50611],[1,50611],[1,50611]],"passed":false},{"actual":[[1,43793],[1,43793],[2,43810],[2,43810],[1,43793],[1,43793]],"check":"control: wrap past last step","expected":[[1,43793],[1,43793],[2,43810],[2,43810],[1,43793],[1,43793]],"passed":true},{"actual":[[1,9],[1,9],[1,9],[1,9],[1,9]],"check":"control: two element file","expected":[[1,9],[1,9],[1,9],[1,9],[1,9]],"passed":true},{"actual":[[0,170],[0,170],[0,170],[1,426]],"check":"control: reset with advance","expected":[[0,170],[0,170],[0,170],[1,426]],"passed":true},{"actual":[[1,5877],[1,5877],[1,5877],[1,5877],[2,5658],[2,5658],[2,5658],[2,5658],[0,5632],[0,5632]],"check":"regression: scenario 2","expected":[[1,5877],[1,5877],[1,5877],[1,5877],[2,5658],[2,5658],[2,5658],[2,5658],[0,5658],[0,5658]],"passed":false},{"actual":[[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985]],"check":"control: scenario 3","expected":[[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985]],"passed":true},{"actual":[[1,61415],[1,61415],[1,61415],[1,61415],[1,61415],[2,54040]],"check":"control: scenario 4","expected":[[1,61415],[1,61415],[1,61415],[1,61415],[1,61415],[2,54040]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: reset while enabled\", \"actual\": [[1, 65523], [0, 65520], [0, 65520], [1, 65523]], \"expected\": [[1, 65523], [0, 65523], [0, 65523], [1, 65523]], \"passed\": false}, {\"check\": \"regression: scenario 1\", \"actual\": [[0, 52597], [0, 52597], [0, 52597], [0, 0], [0, 0], [0, 0], [0, 0], [1, 50611], [1, 50611], [1, 50611]], \"expected\": [[0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [1, 50611], [1, 50611], [1, 50611]], \"passed\": false}, {\"check\": \"control: wrap past last step\", \"actual\": [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]], \"expected\": [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]], \"passed\": true}, {\"check\": \"control: two element file\", \"actual\": [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]], \"expected\": [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]], \"passed\": true}, {\"check\": \"control: reset with advance\", \"actual\": [[0, 170], [0, 170], [0, 170], [1, 426]], \"expected\": [[0, 170], [0, 170], [0, 170], [1, 426]], \"passed\": true}, {\"check\": \"regression: scenario 2\", \"actual\": [[1, 5877], [1, 5877], [1, 5877], [1, 5877], [2, 5658], [2, 5658], [2, 5658], [2, 5658], [0, 5632], [0, 5632]], \"expected\": [[1, 5877], [1, 5877], [1, 5877], [1, 5877], [2, 5658], [2, 5658], [2, 5658], [2, 5658], [0, 5658], [0, 5658]], \"passed\": false}, {\"check\": \"control: scenario 3\", \"actual\": [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]], \"expected\": [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]], \"passed\": true}, {\"check\": \"control: scenario 4\", \"actual\": [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]], \"expected\": [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.594,"exit_code":1,"observations":[{"actual":[[1,65523],[0,65520],[0,65520],[1,65523]],"check":"regression: reset while enabled","expected":[[1,65523],[0,65523],[0,65523],[1,65523]],"passed":false},{"actual":[[0,52597],[0,52597],[0,52597],[0,26918],[0,26918],[0,26918],[0,26918],[1,50611],[1,50611],[1,50611]],"check":"regression: scenario 1","expected":[[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[1,50611],[1,50611],[1,50611]],"passed":false},{"actual":[[1,43793],[1,43793],[2,43810],[2,43810],[1,43793],[1,43793]],"check":"control: wrap past last step","expected":[[1,43793],[1,43793],[2,43810],[2,43810],[1,43793],[1,43793]],"passed":true},{"actual":[[1,9],[1,9],[1,9],[1,9],[1,9]],"check":"control: two element file","expected":[[1,9],[1,9],[1,9],[1,9],[1,9]],"passed":true},{"actual":[[0,170],[0,170],[0,170],[1,426]],"check":"control: reset with advance","expected":[[0,170],[0,170],[0,170],[1,426]],"passed":true},{"actual":[[1,5877],[1,5877],[1,5877],[1,5877],[2,5658],[2,5658],[2,5658],[2,5658],[0,5848],[0,5848]],"check":"regression: scenario 2","expected":[[1,5877],[1,5877],[1,5877],[1,5877],[2,5658],[2,5658],[2,5658],[2,5658],[0,5658],[0,5658]],"passed":false},{"actual":[[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985]],"check":"control: scenario 3","expected":[[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985]],"passed":true},{"actual":[[1,61415],[1,61415],[1,61415],[1,61415],[1,61415],[2,54040]],"check":"control: scenario 4","expected":[[1,61415],[1,61415],[1,61415],[1,61415],[1,61415],[2,54040]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: reset while enabled\", \"actual\": [[1, 65523], [0, 65520], [0, 65520], [1, 65523]], \"expected\": [[1, 65523], [0, 65523], [0, 65523], [1, 65523]], \"passed\": false}, {\"check\": \"regression: scenario 1\", \"actual\": [[0, 52597], [0, 52597], [0, 52597], [0, 26918], [0, 26918], [0, 26918], [0, 26918], [1, 50611], [1, 50611], [1, 50611]], \"expected\": [[0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [1, 50611], [1, 50611], [1, 50611]], \"passed\": false}, {\"check\": \"control: wrap past last step\", \"actual\": [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]], \"expected\": [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]], \"passed\": true}, {\"check\": \"control: two element file\", \"actual\": [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]], \"expected\": [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]], \"passed\": true}, {\"check\": \"control: reset with advance\", \"actual\": [[0, 170], [0, 170], [0, 170], [1, 426]], \"expected\": [[0, 170], [0, 170], [0, 170], [1, 426]], \"passed\": true}, {\"check\": \"regression: scenario 2\", \"actual\": [[1, 5877], [1, 5877], [1, 5877], [1, 5877], [2, 5658], [2, 5658], [2, 5658], [2, 5658], [0, 5848], [0, 5848]], \"expected\": [[1, 5877], [1, 5877], [1, 5877], [1, 5877], [2, 5658], [2, 5658], [2, 5658], [2, 5658], [0, 5658], [0, 5658]], \"passed\": false}, {\"check\": \"control: scenario 3\", \"actual\": [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]], \"expected\": [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]], \"passed\": true}, {\"check\": \"control: scenario 4\", \"actual\": [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]], \"expected\": [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.926,"exit_code":0,"observations":[{"actual":[[1,65523],[0,65523],[0,65523],[1,65523]],"check":"regression: reset while enabled","expected":[[1,65523],[0,65523],[0,65523],[1,65523]],"passed":true},{"actual":[[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[1,50611],[1,50611],[1,50611]],"check":"regression: scenario 1","expected":[[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[0,52597],[1,50611],[1,50611],[1,50611]],"passed":true},{"actual":[[1,43793],[1,43793],[2,43810],[2,43810],[1,43793],[1,43793]],"check":"control: wrap past last step","expected":[[1,43793],[1,43793],[2,43810],[2,43810],[1,43793],[1,43793]],"passed":true},{"actual":[[1,9],[1,9],[1,9],[1,9],[1,9]],"check":"control: two element file","expected":[[1,9],[1,9],[1,9],[1,9],[1,9]],"passed":true},{"actual":[[0,170],[0,170],[0,170],[1,426]],"check":"control: reset with advance","expected":[[0,170],[0,170],[0,170],[1,426]],"passed":true},{"actual":[[1,5877],[1,5877],[1,5877],[1,5877],[2,5658],[2,5658],[2,5658],[2,5658],[0,5658],[0,5658]],"check":"regression: scenario 2","expected":[[1,5877],[1,5877],[1,5877],[1,5877],[2,5658],[2,5658],[2,5658],[2,5658],[0,5658],[0,5658]],"passed":true},{"actual":[[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985]],"check":"control: scenario 3","expected":[[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985],[1,45985]],"passed":true},{"actual":[[1,61415],[1,61415],[1,61415],[1,61415],[1,61415],[2,54040]],"check":"control: scenario 4","expected":[[1,61415],[1,61415],[1,61415],[1,61415],[1,61415],[2,54040]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: reset while enabled\", \"actual\": [[1, 65523], [0, 65523], [0, 65523], [1, 65523]], \"expected\": [[1, 65523], [0, 65523], [0, 65523], [1, 65523]], \"passed\": true}, {\"check\": \"regression: scenario 1\", \"actual\": [[0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [1, 50611], [1, 50611], [1, 50611]], \"expected\": [[0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [0, 52597], [1, 50611], [1, 50611], [1, 50611]], \"passed\": true}, {\"check\": \"control: wrap past last step\", \"actual\": [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]], \"expected\": [[1, 43793], [1, 43793], [2, 43810], [2, 43810], [1, 43793], [1, 43793]], \"passed\": true}, {\"check\": \"control: two element file\", \"actual\": [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]], \"expected\": [[1, 9], [1, 9], [1, 9], [1, 9], [1, 9]], \"passed\": true}, {\"check\": \"control: reset with advance\", \"actual\": [[0, 170], [0, 170], [0, 170], [1, 426]], \"expected\": [[0, 170], [0, 170], [0, 170], [1, 426]], \"passed\": true}, {\"check\": \"regression: scenario 2\", \"actual\": [[1, 5877], [1, 5877], [1, 5877], [1, 5877], [2, 5658], [2, 5658], [2, 5658], [2, 5658], [0, 5658], [0, 5658]], \"expected\": [[1, 5877], [1, 5877], [1, 5877], [1, 5877], [2, 5658], [2, 5658], [2, 5658], [2, 5658], [0, 5658], [0, 5658]], \"passed\": true}, {\"check\": \"control: scenario 3\", \"actual\": [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]], \"expected\": [[1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985], [1, 45985]], \"passed\": true}, {\"check\": \"control: scenario 4\", \"actual\": [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]], \"expected\": [[1, 61415], [1, 61415], [1, 61415], [1, 61415], [1, 61415], [2, 54040]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}