{"abstract":"The event trace violates the resume duration rule and produces incorrect keyboard state or command output.","category":"Keyboard interactions","checks":10,"contract":"Events [kind,key,time,injected]. Start resets capture and origin; physical down/up record relative active time; injected events are ignored. Pause freezes recording and resume excludes paused duration. Stop ends recording; clear erases recording. Return [kind,key,offset] records, recording flag, paused flag and excluded time. Ordered times and paired pause/resume. Inputs are finite ordered event traces; return the stated deterministic state. Batch entries are independent. N varies the number of independent input transactions.","contract_signature":"cases","evaluation_group":"s3-keyboard-macro-record","failed_approach":"The partial repair changes this transition to excluded+=now-origin, which still violates the model contract on the explicit regression traces.","family":"s3-keyboard-interactions-macro-record-resume-duration","id":"FA-31556","implementations":{"attempt":{"sha256":"55183b7a5fa0b73f19a9833417238b206876884eb0661f526d7ce5d4862f1ad1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cases):\n    def run(c):\n        recording=False; origin=0; paused=None; excluded=0; records=[]\n        for kind,key,now,injected in c:\n            if kind=='start':\n                recording=True; origin=now; paused=None; excluded=0; records=[]\n            elif kind=='pause' and recording and paused is None:\n                paused=now\n            elif kind=='resume' and recording and paused is not None:\n                excluded+=now-origin\n                paused=None\n            elif kind=='stop': recording=False; paused=None\n            elif kind=='clear': records=[]\n            elif kind in ('down','up') and recording and paused is None and not injected:\n                records.append([kind,key,now-origin-excluded])\n        return [records,recording,paused is not None,excluded]\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('macro-record scenario 0', solve([[]] * N), [[[], False, False, 0]] * N)\ncheck('macro-record scenario 1', solve([[['start', '', 10, False], ['down', 'A', 12, False], ['up', 'A', 13, False], ['text', 'A', 14, False]]] * N), [[[['down', 'A', 2], ['up', 'A', 3]], True, False, 0]] * N)\ncheck('macro-record scenario 2', solve([[['start', '', 10, False], ['down', 'A', 12, True], ['up', 'A', 13, True]]] * N), [[[], True, False, 0]] * N)\ncheck('macro-record scenario 3', solve([[['start', '', 10, False], ['pause', '', 12, False], ['pause', '', 13, False], ['resume', '', 15, False], ['down', 'A', 16, False]]] * N), [[[['down', 'A', 3]], True, False, 3]] * N)\ncheck('macro-record scenario 4', solve([[['start', '', 10, False], ['pause', '', 12, False], ['resume', '', 15, False], ['pause', '', 17, False], ['resume', '', 20, False], ['down', 'A', 21, False]]] * N), [[[['down', 'A', 5]], True, False, 6]] * N)\ncheck('macro-record scenario 5', solve([[['start', '', 10, False], ['down', 'A', 11, False], ['start', '', 20, False]]] * N), [[[], True, False, 0]] * N)\ncheck('macro-record scenario 6', solve([[['start', '', 10, False], ['pause', '', 12, False], ['resume', '', 15, False], ['start', '', 20, False], ['down', 'A', 21, False]]] * N), [[[['down', 'A', 1]], True, False, 0]] * N)\ncheck('macro-record scenario 7', solve([[['start', '', 10, False], ['pause', '', 12, False], ['stop', '', 15, False], ['down', 'A', 16, False]]] * N), [[[], False, False, 0]] * N)\ncheck('macro-record scenario 8', solve([[['pause', '', 10, False]]] * N), [[[], False, False, 0]] * N)\ncheck('macro-record scenario 9', solve([[['start', '', 10, False], ['down', 'A', 11, False], ['up', 'A', 12, False], ['clear', '', 13, False]]] * N), [[[], True, False, 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":"ca7cdacc599b6022084fd133c8f1e91dadb15b4a177c610621f85fb42fa085ef","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cases):\n    def run(c):\n        recording=False; origin=0; paused=None; excluded=0; records=[]\n        for kind,key,now,injected in c:\n            if kind=='start':\n                recording=True; origin=now; paused=None; excluded=0; records=[]\n            elif kind=='pause' and recording and paused is None:\n                paused=now\n            elif kind=='resume' and recording and paused is not None:\n                excluded=now-paused\n                paused=None\n            elif kind=='stop': recording=False; paused=None\n            elif kind=='clear': records=[]\n            elif kind in ('down','up') and recording and paused is None and not injected:\n                records.append([kind,key,now-origin-excluded])\n        return [records,recording,paused is not None,excluded]\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('macro-record scenario 0', solve([[]] * N), [[[], False, False, 0]] * N)\ncheck('macro-record scenario 1', solve([[['start', '', 10, False], ['down', 'A', 12, False], ['up', 'A', 13, False], ['text', 'A', 14, False]]] * N), [[[['down', 'A', 2], ['up', 'A', 3]], True, False, 0]] * N)\ncheck('macro-record scenario 2', solve([[['start', '', 10, False], ['down', 'A', 12, True], ['up', 'A', 13, True]]] * N), [[[], True, False, 0]] * N)\ncheck('macro-record scenario 3', solve([[['start', '', 10, False], ['pause', '', 12, False], ['pause', '', 13, False], ['resume', '', 15, False], ['down', 'A', 16, False]]] * N), [[[['down', 'A', 3]], True, False, 3]] * N)\ncheck('macro-record scenario 4', solve([[['start', '', 10, False], ['pause', '', 12, False], ['resume', '', 15, False], ['pause', '', 17, False], ['resume', '', 20, False], ['down', 'A', 21, False]]] * N), [[[['down', 'A', 5]], True, False, 6]] * N)\ncheck('macro-record scenario 5', solve([[['start', '', 10, False], ['down', 'A', 11, False], ['start', '', 20, False]]] * N), [[[], True, False, 0]] * N)\ncheck('macro-record scenario 6', solve([[['start', '', 10, False], ['pause', '', 12, False], ['resume', '', 15, False], ['start', '', 20, False], ['down', 'A', 21, False]]] * N), [[[['down', 'A', 1]], True, False, 0]] * N)\ncheck('macro-record scenario 7', solve([[['start', '', 10, False], ['pause', '', 12, False], ['stop', '', 15, False], ['down', 'A', 16, False]]] * N), [[[], False, False, 0]] * N)\ncheck('macro-record scenario 8', solve([[['pause', '', 10, False]]] * N), [[[], False, False, 0]] * N)\ncheck('macro-record scenario 9', solve([[['start', '', 10, False], ['down', 'A', 11, False], ['up', 'A', 12, False], ['clear', '', 13, False]]] * N), [[[], True, False, 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-macro-record-resume-duration","generated_at":"2026-09-29T14:42:03.583640+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.","root_cause":"Resume excludes only the latest pause or the entire macro age.","sha256":"58c7f3889bdef08cc4a14e79446e01a61fa20f69a0775b481d2d93e99d83ec52","title":"Keyboard macro recording timebase: Resume excludes only the latest pause or the entire macro age · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":48.275,"exit_code":1,"observations":[{"actual":[[[],false,false,0]],"check":"macro-record scenario 0","expected":[[[],false,false,0]],"passed":true},{"actual":[[[["down","A",2],["up","A",3]],true,false,0]],"check":"macro-record scenario 1","expected":[[[["down","A",2],["up","A",3]],true,false,0]],"passed":true},{"actual":[[[],true,false,0]],"check":"macro-record scenario 2","expected":[[[],true,false,0]],"passed":true},{"actual":[[[["down","A",1]],true,false,5]],"check":"macro-record scenario 3","expected":[[[["down","A",3]],true,false,3]],"passed":false},{"actual":[[[["down","A",-4]],true,false,15]],"check":"macro-record scenario 4","expected":[[[["down","A",5]],true,false,6]],"passed":false},{"actual":[[[],true,false,0]],"check":"macro-record scenario 5","expected":[[[],true,false,0]],"passed":true},{"actual":[[[["down","A",1]],true,false,0]],"check":"macro-record scenario 6","expected":[[[["down","A",1]],true,false,0]],"passed":true},{"actual":[[[],false,false,0]],"check":"macro-record scenario 7","expected":[[[],false,false,0]],"passed":true},{"actual":[[[],false,false,0]],"check":"macro-record scenario 8","expected":[[[],false,false,0]],"passed":true},{"actual":[[[],true,false,0]],"check":"macro-record scenario 9","expected":[[[],true,false,0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"macro-record scenario 0\", \"actual\": [[[], false, false, 0]], \"expected\": [[[], false, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 1\", \"actual\": [[[[\"down\", \"A\", 2], [\"up\", \"A\", 3]], true, false, 0]], \"expected\": [[[[\"down\", \"A\", 2], [\"up\", \"A\", 3]], true, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 2\", \"actual\": [[[], true, false, 0]], \"expected\": [[[], true, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 3\", \"actual\": [[[[\"down\", \"A\", 1]], true, false, 5]], \"expected\": [[[[\"down\", \"A\", 3]], true, false, 3]], \"passed\": false}, {\"check\": \"macro-record scenario 4\", \"actual\": [[[[\"down\", \"A\", -4]], true, false, 15]], \"expected\": [[[[\"down\", \"A\", 5]], true, false, 6]], \"passed\": false}, {\"check\": \"macro-record scenario 5\", \"actual\": [[[], true, false, 0]], \"expected\": [[[], true, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 6\", \"actual\": [[[[\"down\", \"A\", 1]], true, false, 0]], \"expected\": [[[[\"down\", \"A\", 1]], true, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 7\", \"actual\": [[[], false, false, 0]], \"expected\": [[[], false, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 8\", \"actual\": [[[], false, false, 0]], \"expected\": [[[], false, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 9\", \"actual\": [[[], true, false, 0]], \"expected\": [[[], true, false, 0]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.934,"exit_code":1,"observations":[{"actual":[[[],false,false,0]],"check":"macro-record scenario 0","expected":[[[],false,false,0]],"passed":true},{"actual":[[[["down","A",2],["up","A",3]],true,false,0]],"check":"macro-record scenario 1","expected":[[[["down","A",2],["up","A",3]],true,false,0]],"passed":true},{"actual":[[[],true,false,0]],"check":"macro-record scenario 2","expected":[[[],true,false,0]],"passed":true},{"actual":[[[["down","A",3]],true,false,3]],"check":"macro-record scenario 3","expected":[[[["down","A",3]],true,false,3]],"passed":true},{"actual":[[[["down","A",8]],true,false,3]],"check":"macro-record scenario 4","expected":[[[["down","A",5]],true,false,6]],"passed":false},{"actual":[[[],true,false,0]],"check":"macro-record scenario 5","expected":[[[],true,false,0]],"passed":true},{"actual":[[[["down","A",1]],true,false,0]],"check":"macro-record scenario 6","expected":[[[["down","A",1]],true,false,0]],"passed":true},{"actual":[[[],false,false,0]],"check":"macro-record scenario 7","expected":[[[],false,false,0]],"passed":true},{"actual":[[[],false,false,0]],"check":"macro-record scenario 8","expected":[[[],false,false,0]],"passed":true},{"actual":[[[],true,false,0]],"check":"macro-record scenario 9","expected":[[[],true,false,0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"macro-record scenario 0\", \"actual\": [[[], false, false, 0]], \"expected\": [[[], false, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 1\", \"actual\": [[[[\"down\", \"A\", 2], [\"up\", \"A\", 3]], true, false, 0]], \"expected\": [[[[\"down\", \"A\", 2], [\"up\", \"A\", 3]], true, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 2\", \"actual\": [[[], true, false, 0]], \"expected\": [[[], true, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 3\", \"actual\": [[[[\"down\", \"A\", 3]], true, false, 3]], \"expected\": [[[[\"down\", \"A\", 3]], true, false, 3]], \"passed\": true}, {\"check\": \"macro-record scenario 4\", \"actual\": [[[[\"down\", \"A\", 8]], true, false, 3]], \"expected\": [[[[\"down\", \"A\", 5]], true, false, 6]], \"passed\": false}, {\"check\": \"macro-record scenario 5\", \"actual\": [[[], true, false, 0]], \"expected\": [[[], true, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 6\", \"actual\": [[[[\"down\", \"A\", 1]], true, false, 0]], \"expected\": [[[[\"down\", \"A\", 1]], true, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 7\", \"actual\": [[[], false, false, 0]], \"expected\": [[[], false, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 8\", \"actual\": [[[], false, false, 0]], \"expected\": [[[], false, false, 0]], \"passed\": true}, {\"check\": \"macro-record scenario 9\", \"actual\": [[[], true, false, 0]], \"expected\": [[[], true, false, 0]], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}