{"abstract":"The announcement trace violates the stated device-handoff contract.","category":"Assistive announcements","checks":7,"contract":"Output routes start at local device. Queue snapshots requested route and utterance text. Begin-handoff sets a target while retaining current route. Commit switches current route and migrates only pending items on old route; cancel-handoff leaves queue unchanged. Device removal drops queued output to that device and chooses local if current removed. Send requires route available and sends one queued item; unavailable items remain. Add makes device available. Return [device,text] output and pending routes.","evaluation_group":"s3-announcement-device-handoff","failed_approach":"The attempted repair substitutes q=[[current,text[:1]] for route,text in q] and still violates a regression oracle.","family":"s3-assistive-announcements-device-handoff-migration","id":"FA-21516","implementations":{"attempt":{"sha256":"7ca5f2224a5f69620f649e77fc44ef8d2205618aeeb6d4ba2e874a781d33bde0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    current='local'; target=None; devices={'local'}; q=[]; out=[]\n    for e in events:\n        if e[0]=='add': devices.add(e[1])\n        elif e[0]=='queue': q.append([current,e[1]])\n        elif e[0]=='begin': target=e[1]\n        elif e[0]=='cancel': target=None\n        elif e[0]=='commit' and target in devices:\n            old=current; current=target\n            q=[[current,text[:1]] for route,text in q]\n            target=None\n        elif e[0]=='remove':\n            devices.discard(e[1])\n            q=[x for x in q if x[0]!=e[1]]\n            if current==e[1]: current='local'\n        elif e[0]=='send' and q:\n            index=next((i for i,x in enumerate(q) if x[0] in devices),None)\n            if index is not None: out.append(q.pop(index))\n    return [out,q,current,target,sorted(devices)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [\"[['add','Headset'],['queue','hello'*N],['begin','Headset'],['queue','before'],['commit'],['queue','after'],['send']]\", \"[['queue','keep'*N],['begin','missing'],['commit']]\", \"[['queue','keep'*N],['begin','remote'],['queue','during'*N],['cancel'],['send']]\", \"[['add','head'],['begin','head'],['commit'],['queue','remote'*N],['remove','head']]\", \"[['add','head'],['begin','head'],['commit'],['queue','keep'*N],['remove','unused']]\", \"[['add','remote'],['queue','local'*N],['remove','remote'],['send']]\", '[]']\nexpected = {1: [[[['Headset', 'hello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keep']], 'local', 'missing', ['local']], [[['local', 'keep']], [['local', 'during']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keep']], 'head', None, ['head', 'local']], [[['local', 'local']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 2: [[[['Headset', 'hellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeep']], [['local', 'duringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 3: [[[['Headset', 'hellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeep']], [['local', 'duringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 4: [[[['Headset', 'hellohellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeepkeep']], [['local', 'duringduringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 5: [[[['Headset', 'hellohellohellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeepkeepkeep']], [['local', 'duringduringduringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]]}[N]\nfor i, expression in enumerate(fixtures):\n    check(\"trace-\"+str(i+1), solve(eval(expression)), expected[i])\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":"c42aedb0f341aaa9499eee0a783b9dc488053ba8650ba993968bc1aaf5d4c99b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    current='local'; target=None; devices={'local'}; q=[]; out=[]\n    for e in events:\n        if e[0]=='add': devices.add(e[1])\n        elif e[0]=='queue': q.append([current,e[1]])\n        elif e[0]=='begin': target=e[1]\n        elif e[0]=='cancel': target=None\n        elif e[0]=='commit' and target in devices:\n            old=current; current=target\n            q=list(q)\n            target=None\n        elif e[0]=='remove':\n            devices.discard(e[1])\n            q=[x for x in q if x[0]!=e[1]]\n            if current==e[1]: current='local'\n        elif e[0]=='send' and q:\n            index=next((i for i,x in enumerate(q) if x[0] in devices),None)\n            if index is not None: out.append(q.pop(index))\n    return [out,q,current,target,sorted(devices)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [\"[['add','Headset'],['queue','hello'*N],['begin','Headset'],['queue','before'],['commit'],['queue','after'],['send']]\", \"[['queue','keep'*N],['begin','missing'],['commit']]\", \"[['queue','keep'*N],['begin','remote'],['queue','during'*N],['cancel'],['send']]\", \"[['add','head'],['begin','head'],['commit'],['queue','remote'*N],['remove','head']]\", \"[['add','head'],['begin','head'],['commit'],['queue','keep'*N],['remove','unused']]\", \"[['add','remote'],['queue','local'*N],['remove','remote'],['send']]\", '[]']\nexpected = {1: [[[['Headset', 'hello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keep']], 'local', 'missing', ['local']], [[['local', 'keep']], [['local', 'during']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keep']], 'head', None, ['head', 'local']], [[['local', 'local']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 2: [[[['Headset', 'hellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeep']], [['local', 'duringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 3: [[[['Headset', 'hellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeep']], [['local', 'duringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 4: [[[['Headset', 'hellohellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeepkeep']], [['local', 'duringduringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 5: [[[['Headset', 'hellohellohellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeepkeepkeep']], [['local', 'duringduringduringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]]}[N]\nfor i, expression in enumerate(fixtures):\n    check(\"trace-\"+str(i+1), solve(eval(expression)), expected[i])\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":"0f629dda7fbbc8588a75fbc148c0b0edd2dc5d28ac23e4234d16e0e58ef87579","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    current='local'; target=None; devices={'local'}; q=[]; out=[]\n    for e in events:\n        if e[0]=='add': devices.add(e[1])\n        elif e[0]=='queue': q.append([current,e[1]])\n        elif e[0]=='begin': target=e[1]\n        elif e[0]=='cancel': target=None\n        elif e[0]=='commit' and target in devices:\n            old=current; current=target\n            q=[[current if route==old else route,text] for route,text in q]\n            target=None\n        elif e[0]=='remove':\n            devices.discard(e[1])\n            q=[x for x in q if x[0]!=e[1]]\n            if current==e[1]: current='local'\n        elif e[0]=='send' and q:\n            index=next((i for i,x in enumerate(q) if x[0] in devices),None)\n            if index is not None: out.append(q.pop(index))\n    return [out,q,current,target,sorted(devices)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [\"[['add','Headset'],['queue','hello'*N],['begin','Headset'],['queue','before'],['commit'],['queue','after'],['send']]\", \"[['queue','keep'*N],['begin','missing'],['commit']]\", \"[['queue','keep'*N],['begin','remote'],['queue','during'*N],['cancel'],['send']]\", \"[['add','head'],['begin','head'],['commit'],['queue','remote'*N],['remove','head']]\", \"[['add','head'],['begin','head'],['commit'],['queue','keep'*N],['remove','unused']]\", \"[['add','remote'],['queue','local'*N],['remove','remote'],['send']]\", '[]']\nexpected = {1: [[[['Headset', 'hello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keep']], 'local', 'missing', ['local']], [[['local', 'keep']], [['local', 'during']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keep']], 'head', None, ['head', 'local']], [[['local', 'local']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 2: [[[['Headset', 'hellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeep']], [['local', 'duringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 3: [[[['Headset', 'hellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeep']], [['local', 'duringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 4: [[[['Headset', 'hellohellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeepkeep']], [['local', 'duringduringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]], 5: [[[['Headset', 'hellohellohellohellohello']], [['Headset', 'before'], ['Headset', 'after']], 'Headset', None, ['Headset', 'local']], [[], [['local', 'keepkeepkeepkeepkeep']], 'local', 'missing', ['local']], [[['local', 'keepkeepkeepkeepkeep']], [['local', 'duringduringduringduringduring']], 'local', None, ['local']], [[], [], 'local', None, ['local']], [[], [['head', 'keepkeepkeepkeepkeep']], 'head', None, ['head', 'local']], [[['local', 'locallocallocallocallocal']], [], 'local', None, ['local']], [[], [], 'local', None, ['local']]]}[N]\nfor i, expression in enumerate(fixtures):\n    check(\"trace-\"+str(i+1), solve(eval(expression)), expected[i])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated bounded policy, not a browser, speech engine, platform API, or standards 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-assistive-announcements-device-handoff-migration","generated_at":"2026-09-29T14:40:29.576447+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Deterministic controlled model of assistive announcement delivery.","repair":"Restore the stated transition: q=[[current if route==old else route,text] for route,text in q]","root_cause":"Fault site: q=[[current if route==old else route,text] for route,text in q] is implemented as q=list(q)","sha256":"e05d7f3ee56378a0289d7bb333fafaafe379de3ffb5b97f072595e4bfd8803b4","title":"Committed handoff leaves pending speech on previous device · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.746,"exit_code":1,"observations":[{"actual":[[["Headset","h"]],[["Headset","b"],["Headset","after"]],"Headset",null,["Headset","local"]],"check":"trace-1","expected":[[["Headset","hello"]],[["Headset","before"],["Headset","after"]],"Headset",null,["Headset","local"]],"passed":false},{"actual":[[],[["local","keep"]],"local","missing",["local"]],"check":"trace-2","expected":[[],[["local","keep"]],"local","missing",["local"]],"passed":true},{"actual":[[["local","keep"]],[["local","during"]],"local",null,["local"]],"check":"trace-3","expected":[[["local","keep"]],[["local","during"]],"local",null,["local"]],"passed":true},{"actual":[[],[],"local",null,["local"]],"check":"trace-4","expected":[[],[],"local",null,["local"]],"passed":true},{"actual":[[],[["head","keep"]],"head",null,["head","local"]],"check":"trace-5","expected":[[],[["head","keep"]],"head",null,["head","local"]],"passed":true},{"actual":[[["local","local"]],[],"local",null,["local"]],"check":"trace-6","expected":[[["local","local"]],[],"local",null,["local"]],"passed":true},{"actual":[[],[],"local",null,["local"]],"check":"trace-7","expected":[[],[],"local",null,["local"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"trace-1\", \"actual\": [[[\"Headset\", \"h\"]], [[\"Headset\", \"b\"], [\"Headset\", \"after\"]], \"Headset\", null, [\"Headset\", \"local\"]], \"expected\": [[[\"Headset\", \"hello\"]], [[\"Headset\", \"before\"], [\"Headset\", \"after\"]], \"Headset\", null, [\"Headset\", \"local\"]], \"passed\": false}, {\"check\": \"trace-2\", \"actual\": [[], [[\"local\", \"keep\"]], \"local\", \"missing\", [\"local\"]], \"expected\": [[], [[\"local\", \"keep\"]], \"local\", \"missing\", [\"local\"]], \"passed\": true}, {\"check\": \"trace-3\", \"actual\": [[[\"local\", \"keep\"]], [[\"local\", \"during\"]], \"local\", null, [\"local\"]], \"expected\": [[[\"local\", \"keep\"]], [[\"local\", \"during\"]], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-4\", \"actual\": [[], [], \"local\", null, [\"local\"]], \"expected\": [[], [], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-5\", \"actual\": [[], [[\"head\", \"keep\"]], \"head\", null, [\"head\", \"local\"]], \"expected\": [[], [[\"head\", \"keep\"]], \"head\", null, [\"head\", \"local\"]], \"passed\": true}, {\"check\": \"trace-6\", \"actual\": [[[\"local\", \"local\"]], [], \"local\", null, [\"local\"]], \"expected\": [[[\"local\", \"local\"]], [], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-7\", \"actual\": [[], [], \"local\", null, [\"local\"]], \"expected\": [[], [], \"local\", null, [\"local\"]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.235,"exit_code":1,"observations":[{"actual":[[["local","hello"]],[["local","before"],["Headset","after"]],"Headset",null,["Headset","local"]],"check":"trace-1","expected":[[["Headset","hello"]],[["Headset","before"],["Headset","after"]],"Headset",null,["Headset","local"]],"passed":false},{"actual":[[],[["local","keep"]],"local","missing",["local"]],"check":"trace-2","expected":[[],[["local","keep"]],"local","missing",["local"]],"passed":true},{"actual":[[["local","keep"]],[["local","during"]],"local",null,["local"]],"check":"trace-3","expected":[[["local","keep"]],[["local","during"]],"local",null,["local"]],"passed":true},{"actual":[[],[],"local",null,["local"]],"check":"trace-4","expected":[[],[],"local",null,["local"]],"passed":true},{"actual":[[],[["head","keep"]],"head",null,["head","local"]],"check":"trace-5","expected":[[],[["head","keep"]],"head",null,["head","local"]],"passed":true},{"actual":[[["local","local"]],[],"local",null,["local"]],"check":"trace-6","expected":[[["local","local"]],[],"local",null,["local"]],"passed":true},{"actual":[[],[],"local",null,["local"]],"check":"trace-7","expected":[[],[],"local",null,["local"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"trace-1\", \"actual\": [[[\"local\", \"hello\"]], [[\"local\", \"before\"], [\"Headset\", \"after\"]], \"Headset\", null, [\"Headset\", \"local\"]], \"expected\": [[[\"Headset\", \"hello\"]], [[\"Headset\", \"before\"], [\"Headset\", \"after\"]], \"Headset\", null, [\"Headset\", \"local\"]], \"passed\": false}, {\"check\": \"trace-2\", \"actual\": [[], [[\"local\", \"keep\"]], \"local\", \"missing\", [\"local\"]], \"expected\": [[], [[\"local\", \"keep\"]], \"local\", \"missing\", [\"local\"]], \"passed\": true}, {\"check\": \"trace-3\", \"actual\": [[[\"local\", \"keep\"]], [[\"local\", \"during\"]], \"local\", null, [\"local\"]], \"expected\": [[[\"local\", \"keep\"]], [[\"local\", \"during\"]], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-4\", \"actual\": [[], [], \"local\", null, [\"local\"]], \"expected\": [[], [], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-5\", \"actual\": [[], [[\"head\", \"keep\"]], \"head\", null, [\"head\", \"local\"]], \"expected\": [[], [[\"head\", \"keep\"]], \"head\", null, [\"head\", \"local\"]], \"passed\": true}, {\"check\": \"trace-6\", \"actual\": [[[\"local\", \"local\"]], [], \"local\", null, [\"local\"]], \"expected\": [[[\"local\", \"local\"]], [], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-7\", \"actual\": [[], [], \"local\", null, [\"local\"]], \"expected\": [[], [], \"local\", null, [\"local\"]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":47.919,"exit_code":0,"observations":[{"actual":[[["Headset","hello"]],[["Headset","before"],["Headset","after"]],"Headset",null,["Headset","local"]],"check":"trace-1","expected":[[["Headset","hello"]],[["Headset","before"],["Headset","after"]],"Headset",null,["Headset","local"]],"passed":true},{"actual":[[],[["local","keep"]],"local","missing",["local"]],"check":"trace-2","expected":[[],[["local","keep"]],"local","missing",["local"]],"passed":true},{"actual":[[["local","keep"]],[["local","during"]],"local",null,["local"]],"check":"trace-3","expected":[[["local","keep"]],[["local","during"]],"local",null,["local"]],"passed":true},{"actual":[[],[],"local",null,["local"]],"check":"trace-4","expected":[[],[],"local",null,["local"]],"passed":true},{"actual":[[],[["head","keep"]],"head",null,["head","local"]],"check":"trace-5","expected":[[],[["head","keep"]],"head",null,["head","local"]],"passed":true},{"actual":[[["local","local"]],[],"local",null,["local"]],"check":"trace-6","expected":[[["local","local"]],[],"local",null,["local"]],"passed":true},{"actual":[[],[],"local",null,["local"]],"check":"trace-7","expected":[[],[],"local",null,["local"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"trace-1\", \"actual\": [[[\"Headset\", \"hello\"]], [[\"Headset\", \"before\"], [\"Headset\", \"after\"]], \"Headset\", null, [\"Headset\", \"local\"]], \"expected\": [[[\"Headset\", \"hello\"]], [[\"Headset\", \"before\"], [\"Headset\", \"after\"]], \"Headset\", null, [\"Headset\", \"local\"]], \"passed\": true}, {\"check\": \"trace-2\", \"actual\": [[], [[\"local\", \"keep\"]], \"local\", \"missing\", [\"local\"]], \"expected\": [[], [[\"local\", \"keep\"]], \"local\", \"missing\", [\"local\"]], \"passed\": true}, {\"check\": \"trace-3\", \"actual\": [[[\"local\", \"keep\"]], [[\"local\", \"during\"]], \"local\", null, [\"local\"]], \"expected\": [[[\"local\", \"keep\"]], [[\"local\", \"during\"]], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-4\", \"actual\": [[], [], \"local\", null, [\"local\"]], \"expected\": [[], [], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-5\", \"actual\": [[], [[\"head\", \"keep\"]], \"head\", null, [\"head\", \"local\"]], \"expected\": [[], [[\"head\", \"keep\"]], \"head\", null, [\"head\", \"local\"]], \"passed\": true}, {\"check\": \"trace-6\", \"actual\": [[[\"local\", \"local\"]], [], \"local\", null, [\"local\"]], \"expected\": [[[\"local\", \"local\"]], [], \"local\", null, [\"local\"]], \"passed\": true}, {\"check\": \"trace-7\", \"actual\": [[], [], \"local\", null, [\"local\"]], \"expected\": [[], [], \"local\", null, [\"local\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}