{"abstract":"The event trace violates the reset pending rule and produces incorrect keyboard state or command output.","category":"Keyboard interactions","checks":10,"contract":"Case [capacity,events], positive capacity; events [kind,key]. Down admitted only once per physical key and only when queue has capacity; overflow drops down. Up for an admitted key must be retained: dispatch oldest queued events until a slot exists, then queue the up. Tick dispatches one queued event; flush dispatches all. Reset discards pending queue and emits sorted synthetic ups for actually dispatched held keys. Return emitted edges,queue,admitted keys,delivered-held keys,dropped downs. Inputs are finite ordered event traces; return the stated deterministic state. Batch entries are independent. N varies the number of independent input transactions.","evaluation_group":"s3-keyboard-bounded-keyboard-pump","failed_approach":"The partial repair changes this transition to admitted.clear(), which still violates the model contract on the explicit regression traces.","family":"s3-keyboard-interactions-bounded-keyboard-pump-reset-pending","id":"FA-32331","implementations":{"attempt":{"sha256":"ecafe15e844a7cea3874135319b39be5a0e8dd8dd98c2637e4992515ae933e3b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cases):\n    def run(c):\n        capacity,events=c\n        queue=[]; admitted=set(); held=set(); out=[]; dropped=0\n        def dispatch(event):\n            phase,key=event\n            out.append([phase,key])\n            if phase=='down': held.add(key)\n            else: held.discard(key)\n        for kind,key in events:\n            if kind=='down' and key not in admitted:\n                if len(queue)>=capacity: dropped+=1\n                else:\n                    admitted.add(key)\n                    queue.append(['down',key])\n            elif kind=='up' and key in admitted:\n                admitted.discard(key)\n                while len(queue)>=capacity: dispatch(queue.pop(0))\n                queue.append(['up',key])\n            elif kind=='tick' and queue: dispatch(queue.pop(0))\n            elif kind=='flush':\n                while queue: dispatch(queue.pop(0))\n            elif kind=='reset':\n                admitted.clear()\n                for k in sorted(held): out.append(['up',k])\n                held.clear()\n        return [out,queue,sorted(admitted),sorted(held),dropped]\n    return [run(c) for c in cases]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('bounded-keyboard-pump scenario 0', solve([[2, []]] * N), [[[], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 1', solve([[2, [['down', 'A'], ['down', 'B'], ['down', 'C']]]] * N), [[[], [['down', 'A'], ['down', 'B']], ['A', 'B'], [], 1]] * N)\ncheck('bounded-keyboard-pump scenario 2', solve([[2, [['down', 'A'], ['down', 'B'], ['up', 'A']]]] * N), [[[['down', 'A']], [['down', 'B'], ['up', 'A']], ['B'], ['A'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 3', solve([[2, [['down', 'A'], ['down', 'B'], ['tick', '']]]] * N), [[[['down', 'A']], [['down', 'B']], ['A', 'B'], ['A'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 4', solve([[2, [['down', 'A'], ['down', 'B'], ['flush', '']]]] * N), [[[['down', 'A'], ['down', 'B']], [], ['A', 'B'], ['A', 'B'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 5', solve([[2, [['down', 'A'], ['down', 'B'], ['reset', '']]]] * N), [[[], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 6', solve([[2, [['down', 'A'], ['tick', ''], ['down', 'B'], ['reset', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 7', solve([[1, [['down', 'A'], ['up', 'A'], ['flush', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 8', solve([[2, [['down', 'A'], ['down', 'A'], ['up', 'A'], ['flush', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 9', solve([[2, [['up', 'A']]]] * N), [[[], [], [], [], 0]] * N)\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":"d5f539c33b60705f481124672a0e0f93bde4c0c49aecce9ada78d89e8236fb35","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cases):\n    def run(c):\n        capacity,events=c\n        queue=[]; admitted=set(); held=set(); out=[]; dropped=0\n        def dispatch(event):\n            phase,key=event\n            out.append([phase,key])\n            if phase=='down': held.add(key)\n            else: held.discard(key)\n        for kind,key in events:\n            if kind=='down' and key not in admitted:\n                if len(queue)>=capacity: dropped+=1\n                else:\n                    admitted.add(key)\n                    queue.append(['down',key])\n            elif kind=='up' and key in admitted:\n                admitted.discard(key)\n                while len(queue)>=capacity: dispatch(queue.pop(0))\n                queue.append(['up',key])\n            elif kind=='tick' and queue: dispatch(queue.pop(0))\n            elif kind=='flush':\n                while queue: dispatch(queue.pop(0))\n            elif kind=='reset':\n                queue.clear()\n                for k in sorted(held): out.append(['up',k])\n                held.clear()\n        return [out,queue,sorted(admitted),sorted(held),dropped]\n    return [run(c) for c in cases]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('bounded-keyboard-pump scenario 0', solve([[2, []]] * N), [[[], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 1', solve([[2, [['down', 'A'], ['down', 'B'], ['down', 'C']]]] * N), [[[], [['down', 'A'], ['down', 'B']], ['A', 'B'], [], 1]] * N)\ncheck('bounded-keyboard-pump scenario 2', solve([[2, [['down', 'A'], ['down', 'B'], ['up', 'A']]]] * N), [[[['down', 'A']], [['down', 'B'], ['up', 'A']], ['B'], ['A'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 3', solve([[2, [['down', 'A'], ['down', 'B'], ['tick', '']]]] * N), [[[['down', 'A']], [['down', 'B']], ['A', 'B'], ['A'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 4', solve([[2, [['down', 'A'], ['down', 'B'], ['flush', '']]]] * N), [[[['down', 'A'], ['down', 'B']], [], ['A', 'B'], ['A', 'B'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 5', solve([[2, [['down', 'A'], ['down', 'B'], ['reset', '']]]] * N), [[[], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 6', solve([[2, [['down', 'A'], ['tick', ''], ['down', 'B'], ['reset', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 7', solve([[1, [['down', 'A'], ['up', 'A'], ['flush', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 8', solve([[2, [['down', 'A'], ['down', 'A'], ['up', 'A'], ['flush', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 9', solve([[2, [['up', 'A']]]] * N), [[[], [], [], [], 0]] * N)\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":"88afbb7ade9386a82690d9f1449d00b31aa4372fd0bd450460f5bf49b3b56ed4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cases):\n    def run(c):\n        capacity,events=c\n        queue=[]; admitted=set(); held=set(); out=[]; dropped=0\n        def dispatch(event):\n            phase,key=event\n            out.append([phase,key])\n            if phase=='down': held.add(key)\n            else: held.discard(key)\n        for kind,key in events:\n            if kind=='down' and key not in admitted:\n                if len(queue)>=capacity: dropped+=1\n                else:\n                    admitted.add(key)\n                    queue.append(['down',key])\n            elif kind=='up' and key in admitted:\n                admitted.discard(key)\n                while len(queue)>=capacity: dispatch(queue.pop(0))\n                queue.append(['up',key])\n            elif kind=='tick' and queue: dispatch(queue.pop(0))\n            elif kind=='flush':\n                while queue: dispatch(queue.pop(0))\n            elif kind=='reset':\n                queue.clear(); admitted.clear()\n                for k in sorted(held): out.append(['up',k])\n                held.clear()\n        return [out,queue,sorted(admitted),sorted(held),dropped]\n    return [run(c) for c in cases]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('bounded-keyboard-pump scenario 0', solve([[2, []]] * N), [[[], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 1', solve([[2, [['down', 'A'], ['down', 'B'], ['down', 'C']]]] * N), [[[], [['down', 'A'], ['down', 'B']], ['A', 'B'], [], 1]] * N)\ncheck('bounded-keyboard-pump scenario 2', solve([[2, [['down', 'A'], ['down', 'B'], ['up', 'A']]]] * N), [[[['down', 'A']], [['down', 'B'], ['up', 'A']], ['B'], ['A'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 3', solve([[2, [['down', 'A'], ['down', 'B'], ['tick', '']]]] * N), [[[['down', 'A']], [['down', 'B']], ['A', 'B'], ['A'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 4', solve([[2, [['down', 'A'], ['down', 'B'], ['flush', '']]]] * N), [[[['down', 'A'], ['down', 'B']], [], ['A', 'B'], ['A', 'B'], 0]] * N)\ncheck('bounded-keyboard-pump scenario 5', solve([[2, [['down', 'A'], ['down', 'B'], ['reset', '']]]] * N), [[[], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 6', solve([[2, [['down', 'A'], ['tick', ''], ['down', 'B'], ['reset', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 7', solve([[1, [['down', 'A'], ['up', 'A'], ['flush', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 8', solve([[2, [['down', 'A'], ['down', 'A'], ['up', 'A'], ['flush', '']]]] * N), [[[['down', 'A'], ['up', 'A']], [], [], [], 0]] * N)\ncheck('bounded-keyboard-pump scenario 9', solve([[2, [['up', 'A']]]] * N), [[[], [], [], [], 0]] * N)\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":"Offline stipulated event model, not a browser implementation or web standard conformance claim. 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":"s3-keyboard-interactions-bounded-keyboard-pump-reset-pending","generated_at":"2026-09-29T14:42:11.101768+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Controlled keyboard event processing model for debugging application event logic.","repair":"Use the contract transition `queue.clear(); admitted.clear()` at the reset pending fault site; preserve the other state transitions.","root_cause":"Keyboard reset clears only queue or accepted presses, permitting stale input ownership.","sha256":"b874a595de77a836ba2a33b81ab54ee561e80b157c6572f23acf1adde2722203","title":"Bounded keyboard queue with lossless release backpressure: Keyboard reset clears only queue or accepted presses, permitting stale input ownership · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.971,"exit_code":1,"observations":[{"actual":[[[],[],[],[],0]],"check":"bounded-keyboard-pump scenario 0","expected":[[[],[],[],[],0]],"passed":true},{"actual":[[[],[["down","A"],["down","B"]],["A","B"],[],1]],"check":"bounded-keyboard-pump scenario 1","expected":[[[],[["down","A"],["down","B"]],["A","B"],[],1]],"passed":true},{"actual":[[[["down","A"]],[["down","B"],["up","A"]],["B"],["A"],0]],"check":"bounded-keyboard-pump scenario 2","expected":[[[["down","A"]],[["down","B"],["up","A"]],["B"],["A"],0]],"passed":true},{"actual":[[[["down","A"]],[["down","B"]],["A","B"],["A"],0]],"check":"bounded-keyboard-pump scenario 3","expected":[[[["down","A"]],[["down","B"]],["A","B"],["A"],0]],"passed":true},{"actual":[[[["down","A"],["down","B"]],[],["A","B"],["A","B"],0]],"check":"bounded-keyboard-pump scenario 4","expected":[[[["down","A"],["down","B"]],[],["A","B"],["A","B"],0]],"passed":true},{"actual":[[[],[["down","A"],["down","B"]],[],[],0]],"check":"bounded-keyboard-pump scenario 5","expected":[[[],[],[],[],0]],"passed":false},{"actual":[[[["down","A"],["up","A"]],[["down","B"]],[],[],0]],"check":"bounded-keyboard-pump scenario 6","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":false},{"actual":[[[["down","A"],["up","A"]],[],[],[],0]],"check":"bounded-keyboard-pump scenario 7","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":true},{"actual":[[[["down","A"],["up","A"]],[],[],[],0]],"check":"bounded-keyboard-pump scenario 8","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":true},{"actual":[[[],[],[],[],0]],"check":"bounded-keyboard-pump scenario 9","expected":[[[],[],[],[],0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bounded-keyboard-pump scenario 0\", \"actual\": [[[], [], [], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 1\", \"actual\": [[[], [[\"down\", \"A\"], [\"down\", \"B\"]], [\"A\", \"B\"], [], 1]], \"expected\": [[[], [[\"down\", \"A\"], [\"down\", \"B\"]], [\"A\", \"B\"], [], 1]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 2\", \"actual\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"], [\"up\", \"A\"]], [\"B\"], [\"A\"], 0]], \"expected\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"], [\"up\", \"A\"]], [\"B\"], [\"A\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 3\", \"actual\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"]], [\"A\", \"B\"], [\"A\"], 0]], \"expected\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"]], [\"A\", \"B\"], [\"A\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 4\", \"actual\": [[[[\"down\", \"A\"], [\"down\", \"B\"]], [], [\"A\", \"B\"], [\"A\", \"B\"], 0]], \"expected\": [[[[\"down\", \"A\"], [\"down\", \"B\"]], [], [\"A\", \"B\"], [\"A\", \"B\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 5\", \"actual\": [[[], [[\"down\", \"A\"], [\"down\", \"B\"]], [], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": false}, {\"check\": \"bounded-keyboard-pump scenario 6\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [[\"down\", \"B\"]], [], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": false}, {\"check\": \"bounded-keyboard-pump scenario 7\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 8\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 9\", \"actual\": [[[], [], [], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.538,"exit_code":1,"observations":[{"actual":[[[],[],[],[],0]],"check":"bounded-keyboard-pump scenario 0","expected":[[[],[],[],[],0]],"passed":true},{"actual":[[[],[["down","A"],["down","B"]],["A","B"],[],1]],"check":"bounded-keyboard-pump scenario 1","expected":[[[],[["down","A"],["down","B"]],["A","B"],[],1]],"passed":true},{"actual":[[[["down","A"]],[["down","B"],["up","A"]],["B"],["A"],0]],"check":"bounded-keyboard-pump scenario 2","expected":[[[["down","A"]],[["down","B"],["up","A"]],["B"],["A"],0]],"passed":true},{"actual":[[[["down","A"]],[["down","B"]],["A","B"],["A"],0]],"check":"bounded-keyboard-pump scenario 3","expected":[[[["down","A"]],[["down","B"]],["A","B"],["A"],0]],"passed":true},{"actual":[[[["down","A"],["down","B"]],[],["A","B"],["A","B"],0]],"check":"bounded-keyboard-pump scenario 4","expected":[[[["down","A"],["down","B"]],[],["A","B"],["A","B"],0]],"passed":true},{"actual":[[[],[],["A","B"],[],0]],"check":"bounded-keyboard-pump scenario 5","expected":[[[],[],[],[],0]],"passed":false},{"actual":[[[["down","A"],["up","A"]],[],["A","B"],[],0]],"check":"bounded-keyboard-pump scenario 6","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":false},{"actual":[[[["down","A"],["up","A"]],[],[],[],0]],"check":"bounded-keyboard-pump scenario 7","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":true},{"actual":[[[["down","A"],["up","A"]],[],[],[],0]],"check":"bounded-keyboard-pump scenario 8","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":true},{"actual":[[[],[],[],[],0]],"check":"bounded-keyboard-pump scenario 9","expected":[[[],[],[],[],0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bounded-keyboard-pump scenario 0\", \"actual\": [[[], [], [], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 1\", \"actual\": [[[], [[\"down\", \"A\"], [\"down\", \"B\"]], [\"A\", \"B\"], [], 1]], \"expected\": [[[], [[\"down\", \"A\"], [\"down\", \"B\"]], [\"A\", \"B\"], [], 1]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 2\", \"actual\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"], [\"up\", \"A\"]], [\"B\"], [\"A\"], 0]], \"expected\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"], [\"up\", \"A\"]], [\"B\"], [\"A\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 3\", \"actual\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"]], [\"A\", \"B\"], [\"A\"], 0]], \"expected\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"]], [\"A\", \"B\"], [\"A\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 4\", \"actual\": [[[[\"down\", \"A\"], [\"down\", \"B\"]], [], [\"A\", \"B\"], [\"A\", \"B\"], 0]], \"expected\": [[[[\"down\", \"A\"], [\"down\", \"B\"]], [], [\"A\", \"B\"], [\"A\", \"B\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 5\", \"actual\": [[[], [], [\"A\", \"B\"], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": false}, {\"check\": \"bounded-keyboard-pump scenario 6\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [\"A\", \"B\"], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": false}, {\"check\": \"bounded-keyboard-pump scenario 7\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 8\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 9\", \"actual\": [[[], [], [], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":51.153,"exit_code":0,"observations":[{"actual":[[[],[],[],[],0]],"check":"bounded-keyboard-pump scenario 0","expected":[[[],[],[],[],0]],"passed":true},{"actual":[[[],[["down","A"],["down","B"]],["A","B"],[],1]],"check":"bounded-keyboard-pump scenario 1","expected":[[[],[["down","A"],["down","B"]],["A","B"],[],1]],"passed":true},{"actual":[[[["down","A"]],[["down","B"],["up","A"]],["B"],["A"],0]],"check":"bounded-keyboard-pump scenario 2","expected":[[[["down","A"]],[["down","B"],["up","A"]],["B"],["A"],0]],"passed":true},{"actual":[[[["down","A"]],[["down","B"]],["A","B"],["A"],0]],"check":"bounded-keyboard-pump scenario 3","expected":[[[["down","A"]],[["down","B"]],["A","B"],["A"],0]],"passed":true},{"actual":[[[["down","A"],["down","B"]],[],["A","B"],["A","B"],0]],"check":"bounded-keyboard-pump scenario 4","expected":[[[["down","A"],["down","B"]],[],["A","B"],["A","B"],0]],"passed":true},{"actual":[[[],[],[],[],0]],"check":"bounded-keyboard-pump scenario 5","expected":[[[],[],[],[],0]],"passed":true},{"actual":[[[["down","A"],["up","A"]],[],[],[],0]],"check":"bounded-keyboard-pump scenario 6","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":true},{"actual":[[[["down","A"],["up","A"]],[],[],[],0]],"check":"bounded-keyboard-pump scenario 7","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":true},{"actual":[[[["down","A"],["up","A"]],[],[],[],0]],"check":"bounded-keyboard-pump scenario 8","expected":[[[["down","A"],["up","A"]],[],[],[],0]],"passed":true},{"actual":[[[],[],[],[],0]],"check":"bounded-keyboard-pump scenario 9","expected":[[[],[],[],[],0]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bounded-keyboard-pump scenario 0\", \"actual\": [[[], [], [], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 1\", \"actual\": [[[], [[\"down\", \"A\"], [\"down\", \"B\"]], [\"A\", \"B\"], [], 1]], \"expected\": [[[], [[\"down\", \"A\"], [\"down\", \"B\"]], [\"A\", \"B\"], [], 1]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 2\", \"actual\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"], [\"up\", \"A\"]], [\"B\"], [\"A\"], 0]], \"expected\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"], [\"up\", \"A\"]], [\"B\"], [\"A\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 3\", \"actual\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"]], [\"A\", \"B\"], [\"A\"], 0]], \"expected\": [[[[\"down\", \"A\"]], [[\"down\", \"B\"]], [\"A\", \"B\"], [\"A\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 4\", \"actual\": [[[[\"down\", \"A\"], [\"down\", \"B\"]], [], [\"A\", \"B\"], [\"A\", \"B\"], 0]], \"expected\": [[[[\"down\", \"A\"], [\"down\", \"B\"]], [], [\"A\", \"B\"], [\"A\", \"B\"], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 5\", \"actual\": [[[], [], [], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 6\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 7\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 8\", \"actual\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"expected\": [[[[\"down\", \"A\"], [\"up\", \"A\"]], [], [], [], 0]], \"passed\": true}, {\"check\": \"bounded-keyboard-pump scenario 9\", \"actual\": [[[], [], [], [], 0]], \"expected\": [[[], [], [], [], 0]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}