{"abstract":"Session grouping compares every event with the first timestamp.","category":"Data systems","checks":7,"contract":"Group [key,time,id] events into sessions independently by key. Sort each key by (time,id); consecutive gaps <=gap belong to one transitive session. Emit [key,first-time,last-time,ordered-ids] ordered by key and session time. An intervening bridge may join otherwise distant endpoints.","evaluation_group":"s3-data-systems-session-bridge-grouping","failed_approach":"Changing endpoint inclusivity still misses transitive bridging through intermediate events.","family":"s3-data-systems-session-bridge-grouping-bridge-transitivity","id":"FA-45631","implementations":{"attempt":{"sha256":"c096006f57759ee235d2dc924c73b3cd2eae8fca7a960d379f168365d43e02a8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        events,gap=d\n        out=[]\n        for key in sorted(set(k for k,t,i in events)):\n            rows=sorted((t,i) for k,t,i in events if k==key)\n            start=last=None; ids=[]\n            for time,ident in rows:\n                if ids and time-start>=gap:\n                    out.append([key,start,last,ids]); ids=[]\n                if not ids: start=time\n                ids.append(ident); last=time\n            if ids: out.append([key,start,last,ids])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('bridge chain', solve([[['a', 1, 10], ['a', 3, 11], ['a', 5, 12]], 2]), [['a', 1, 5, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 3, 10], ['a', 1, 11]], 2]), [['a', 1, 3, [11, 10]]])\n    check('key separation', solve([[['a', 1, 10], ['b', 1, 11]], 2]), [['a', 1, 1, [10]], ['b', 1, 1, [11]]])\n    check('separate sessions', solve([[['a', 1, 10], ['a', 6, 11]], 2]), [['a', 1, 1, [10]], ['a', 6, 6, [11]]])\n    check('equal timestamp', solve([[['a', 1, 11], ['a', 1, 10]], 0]), [['a', 1, 1, [10, 11]]])\n    check('single event', solve([[['a', 1, 10]], 2]), [['a', 1, 1, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 2:\n    check('bridge chain', solve([[['a', 2, 10], ['a', 4, 11], ['a', 6, 12]], 2]), [['a', 2, 6, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 4, 10], ['a', 2, 11]], 2]), [['a', 2, 4, [11, 10]]])\n    check('key separation', solve([[['a', 2, 10], ['b', 2, 11]], 2]), [['a', 2, 2, [10]], ['b', 2, 2, [11]]])\n    check('separate sessions', solve([[['a', 2, 10], ['a', 7, 11]], 2]), [['a', 2, 2, [10]], ['a', 7, 7, [11]]])\n    check('equal timestamp', solve([[['a', 2, 11], ['a', 2, 10]], 0]), [['a', 2, 2, [10, 11]]])\n    check('single event', solve([[['a', 2, 10]], 2]), [['a', 2, 2, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 3:\n    check('bridge chain', solve([[['a', 3, 10], ['a', 5, 11], ['a', 7, 12]], 2]), [['a', 3, 7, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 5, 10], ['a', 3, 11]], 2]), [['a', 3, 5, [11, 10]]])\n    check('key separation', solve([[['a', 3, 10], ['b', 3, 11]], 2]), [['a', 3, 3, [10]], ['b', 3, 3, [11]]])\n    check('separate sessions', solve([[['a', 3, 10], ['a', 8, 11]], 2]), [['a', 3, 3, [10]], ['a', 8, 8, [11]]])\n    check('equal timestamp', solve([[['a', 3, 11], ['a', 3, 10]], 0]), [['a', 3, 3, [10, 11]]])\n    check('single event', solve([[['a', 3, 10]], 2]), [['a', 3, 3, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 4:\n    check('bridge chain', solve([[['a', 4, 10], ['a', 6, 11], ['a', 8, 12]], 2]), [['a', 4, 8, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 6, 10], ['a', 4, 11]], 2]), [['a', 4, 6, [11, 10]]])\n    check('key separation', solve([[['a', 4, 10], ['b', 4, 11]], 2]), [['a', 4, 4, [10]], ['b', 4, 4, [11]]])\n    check('separate sessions', solve([[['a', 4, 10], ['a', 9, 11]], 2]), [['a', 4, 4, [10]], ['a', 9, 9, [11]]])\n    check('equal timestamp', solve([[['a', 4, 11], ['a', 4, 10]], 0]), [['a', 4, 4, [10, 11]]])\n    check('single event', solve([[['a', 4, 10]], 2]), [['a', 4, 4, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 5:\n    check('bridge chain', solve([[['a', 5, 10], ['a', 7, 11], ['a', 9, 12]], 2]), [['a', 5, 9, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 7, 10], ['a', 5, 11]], 2]), [['a', 5, 7, [11, 10]]])\n    check('key separation', solve([[['a', 5, 10], ['b', 5, 11]], 2]), [['a', 5, 5, [10]], ['b', 5, 5, [11]]])\n    check('separate sessions', solve([[['a', 5, 10], ['a', 10, 11]], 2]), [['a', 5, 5, [10]], ['a', 10, 10, [11]]])\n    check('equal timestamp', solve([[['a', 5, 11], ['a', 5, 10]], 0]), [['a', 5, 5, [10, 11]]])\n    check('single event', solve([[['a', 5, 10]], 2]), [['a', 5, 5, [10]]])\n    check('empty stream', solve([[], 2]), [])\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":"b9cd7e2c2803f4d4f1896cbcb590c74592575df4759d1a2bcd2ea39d38432f60","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        events,gap=d\n        out=[]\n        for key in sorted(set(k for k,t,i in events)):\n            rows=sorted((t,i) for k,t,i in events if k==key)\n            start=last=None; ids=[]\n            for time,ident in rows:\n                if ids and time-start>gap:\n                    out.append([key,start,last,ids]); ids=[]\n                if not ids: start=time\n                ids.append(ident); last=time\n            if ids: out.append([key,start,last,ids])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('bridge chain', solve([[['a', 1, 10], ['a', 3, 11], ['a', 5, 12]], 2]), [['a', 1, 5, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 3, 10], ['a', 1, 11]], 2]), [['a', 1, 3, [11, 10]]])\n    check('key separation', solve([[['a', 1, 10], ['b', 1, 11]], 2]), [['a', 1, 1, [10]], ['b', 1, 1, [11]]])\n    check('separate sessions', solve([[['a', 1, 10], ['a', 6, 11]], 2]), [['a', 1, 1, [10]], ['a', 6, 6, [11]]])\n    check('equal timestamp', solve([[['a', 1, 11], ['a', 1, 10]], 0]), [['a', 1, 1, [10, 11]]])\n    check('single event', solve([[['a', 1, 10]], 2]), [['a', 1, 1, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 2:\n    check('bridge chain', solve([[['a', 2, 10], ['a', 4, 11], ['a', 6, 12]], 2]), [['a', 2, 6, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 4, 10], ['a', 2, 11]], 2]), [['a', 2, 4, [11, 10]]])\n    check('key separation', solve([[['a', 2, 10], ['b', 2, 11]], 2]), [['a', 2, 2, [10]], ['b', 2, 2, [11]]])\n    check('separate sessions', solve([[['a', 2, 10], ['a', 7, 11]], 2]), [['a', 2, 2, [10]], ['a', 7, 7, [11]]])\n    check('equal timestamp', solve([[['a', 2, 11], ['a', 2, 10]], 0]), [['a', 2, 2, [10, 11]]])\n    check('single event', solve([[['a', 2, 10]], 2]), [['a', 2, 2, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 3:\n    check('bridge chain', solve([[['a', 3, 10], ['a', 5, 11], ['a', 7, 12]], 2]), [['a', 3, 7, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 5, 10], ['a', 3, 11]], 2]), [['a', 3, 5, [11, 10]]])\n    check('key separation', solve([[['a', 3, 10], ['b', 3, 11]], 2]), [['a', 3, 3, [10]], ['b', 3, 3, [11]]])\n    check('separate sessions', solve([[['a', 3, 10], ['a', 8, 11]], 2]), [['a', 3, 3, [10]], ['a', 8, 8, [11]]])\n    check('equal timestamp', solve([[['a', 3, 11], ['a', 3, 10]], 0]), [['a', 3, 3, [10, 11]]])\n    check('single event', solve([[['a', 3, 10]], 2]), [['a', 3, 3, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 4:\n    check('bridge chain', solve([[['a', 4, 10], ['a', 6, 11], ['a', 8, 12]], 2]), [['a', 4, 8, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 6, 10], ['a', 4, 11]], 2]), [['a', 4, 6, [11, 10]]])\n    check('key separation', solve([[['a', 4, 10], ['b', 4, 11]], 2]), [['a', 4, 4, [10]], ['b', 4, 4, [11]]])\n    check('separate sessions', solve([[['a', 4, 10], ['a', 9, 11]], 2]), [['a', 4, 4, [10]], ['a', 9, 9, [11]]])\n    check('equal timestamp', solve([[['a', 4, 11], ['a', 4, 10]], 0]), [['a', 4, 4, [10, 11]]])\n    check('single event', solve([[['a', 4, 10]], 2]), [['a', 4, 4, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 5:\n    check('bridge chain', solve([[['a', 5, 10], ['a', 7, 11], ['a', 9, 12]], 2]), [['a', 5, 9, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 7, 10], ['a', 5, 11]], 2]), [['a', 5, 7, [11, 10]]])\n    check('key separation', solve([[['a', 5, 10], ['b', 5, 11]], 2]), [['a', 5, 5, [10]], ['b', 5, 5, [11]]])\n    check('separate sessions', solve([[['a', 5, 10], ['a', 10, 11]], 2]), [['a', 5, 5, [10]], ['a', 10, 10, [11]]])\n    check('equal timestamp', solve([[['a', 5, 11], ['a', 5, 10]], 0]), [['a', 5, 5, [10, 11]]])\n    check('single event', solve([[['a', 5, 10]], 2]), [['a', 5, 5, [10]]])\n    check('empty stream', solve([[], 2]), [])\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":"c79db6c9a57305db34ffc3dfbb50fd8878c3f4ef7daef4c836fda12d08bc304d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        events,gap=d\n        out=[]\n        for key in sorted(set(k for k,t,i in events)):\n            rows=sorted((t,i) for k,t,i in events if k==key)\n            start=last=None; ids=[]\n            for time,ident in rows:\n                if ids and time-last>gap:\n                    out.append([key,start,last,ids]); ids=[]\n                if not ids: start=time\n                ids.append(ident); last=time\n            if ids: out.append([key,start,last,ids])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('bridge chain', solve([[['a', 1, 10], ['a', 3, 11], ['a', 5, 12]], 2]), [['a', 1, 5, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 3, 10], ['a', 1, 11]], 2]), [['a', 1, 3, [11, 10]]])\n    check('key separation', solve([[['a', 1, 10], ['b', 1, 11]], 2]), [['a', 1, 1, [10]], ['b', 1, 1, [11]]])\n    check('separate sessions', solve([[['a', 1, 10], ['a', 6, 11]], 2]), [['a', 1, 1, [10]], ['a', 6, 6, [11]]])\n    check('equal timestamp', solve([[['a', 1, 11], ['a', 1, 10]], 0]), [['a', 1, 1, [10, 11]]])\n    check('single event', solve([[['a', 1, 10]], 2]), [['a', 1, 1, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 2:\n    check('bridge chain', solve([[['a', 2, 10], ['a', 4, 11], ['a', 6, 12]], 2]), [['a', 2, 6, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 4, 10], ['a', 2, 11]], 2]), [['a', 2, 4, [11, 10]]])\n    check('key separation', solve([[['a', 2, 10], ['b', 2, 11]], 2]), [['a', 2, 2, [10]], ['b', 2, 2, [11]]])\n    check('separate sessions', solve([[['a', 2, 10], ['a', 7, 11]], 2]), [['a', 2, 2, [10]], ['a', 7, 7, [11]]])\n    check('equal timestamp', solve([[['a', 2, 11], ['a', 2, 10]], 0]), [['a', 2, 2, [10, 11]]])\n    check('single event', solve([[['a', 2, 10]], 2]), [['a', 2, 2, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 3:\n    check('bridge chain', solve([[['a', 3, 10], ['a', 5, 11], ['a', 7, 12]], 2]), [['a', 3, 7, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 5, 10], ['a', 3, 11]], 2]), [['a', 3, 5, [11, 10]]])\n    check('key separation', solve([[['a', 3, 10], ['b', 3, 11]], 2]), [['a', 3, 3, [10]], ['b', 3, 3, [11]]])\n    check('separate sessions', solve([[['a', 3, 10], ['a', 8, 11]], 2]), [['a', 3, 3, [10]], ['a', 8, 8, [11]]])\n    check('equal timestamp', solve([[['a', 3, 11], ['a', 3, 10]], 0]), [['a', 3, 3, [10, 11]]])\n    check('single event', solve([[['a', 3, 10]], 2]), [['a', 3, 3, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 4:\n    check('bridge chain', solve([[['a', 4, 10], ['a', 6, 11], ['a', 8, 12]], 2]), [['a', 4, 8, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 6, 10], ['a', 4, 11]], 2]), [['a', 4, 6, [11, 10]]])\n    check('key separation', solve([[['a', 4, 10], ['b', 4, 11]], 2]), [['a', 4, 4, [10]], ['b', 4, 4, [11]]])\n    check('separate sessions', solve([[['a', 4, 10], ['a', 9, 11]], 2]), [['a', 4, 4, [10]], ['a', 9, 9, [11]]])\n    check('equal timestamp', solve([[['a', 4, 11], ['a', 4, 10]], 0]), [['a', 4, 4, [10, 11]]])\n    check('single event', solve([[['a', 4, 10]], 2]), [['a', 4, 4, [10]]])\n    check('empty stream', solve([[], 2]), [])\nelif N == 5:\n    check('bridge chain', solve([[['a', 5, 10], ['a', 7, 11], ['a', 9, 12]], 2]), [['a', 5, 9, [10, 11, 12]]])\n    check('arrival order', solve([[['a', 7, 10], ['a', 5, 11]], 2]), [['a', 5, 7, [11, 10]]])\n    check('key separation', solve([[['a', 5, 10], ['b', 5, 11]], 2]), [['a', 5, 5, [10]], ['b', 5, 5, [11]]])\n    check('separate sessions', solve([[['a', 5, 10], ['a', 10, 11]], 2]), [['a', 5, 5, [10]], ['a', 10, 10, [11]]])\n    check('equal timestamp', solve([[['a', 5, 11], ['a', 5, 10]], 0]), [['a', 5, 5, [10, 11]]])\n    check('single event', solve([[['a', 5, 10]], 2]), [['a', 5, 5, [10]]])\n    check('empty stream', solve([[], 2]), [])\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 semantics over valid small inputs; no performance, concurrency, or production-engine 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-data-systems-session-bridge-grouping-bridge-transitivity","generated_at":"2026-09-29T14:44:24.213663+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A bounded deterministic data engine model makes representation and changelog faults reproducible.","repair":"Preserve the stated physical representation and operation order: Group [key,time,id] events into sessions independently by key. Sort each key by (time,id); consecutive gaps <=gap belong to one transitive session. Emit [key,first-time,last-time,ordered-ids] ordered by key and session time. An intervening bridge may join otherwise distant endpoints.","root_cause":"session-bridge-grouping: Session grouping compares every event with the first timestamp.","sha256":"f7ed2a2caa117d8b83dcad9907bfc5da73272213bcc8472978f51d030d6e00f3","title":"Session grouping compares every event with the first timestamp · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.514,"exit_code":1,"observations":[{"actual":[["a",1,1,[10]],["a",3,3,[11]],["a",5,5,[12]]],"check":"bridge chain","expected":[["a",1,5,[10,11,12]]],"passed":false},{"actual":[["a",1,1,[11]],["a",3,3,[10]]],"check":"arrival order","expected":[["a",1,3,[11,10]]],"passed":false},{"actual":[["a",1,1,[10]],["b",1,1,[11]]],"check":"key separation","expected":[["a",1,1,[10]],["b",1,1,[11]]],"passed":true},{"actual":[["a",1,1,[10]],["a",6,6,[11]]],"check":"separate sessions","expected":[["a",1,1,[10]],["a",6,6,[11]]],"passed":true},{"actual":[["a",1,1,[10]],["a",1,1,[11]]],"check":"equal timestamp","expected":[["a",1,1,[10,11]]],"passed":false},{"actual":[["a",1,1,[10]]],"check":"single event","expected":[["a",1,1,[10]]],"passed":true},{"actual":[],"check":"empty stream","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bridge chain\", \"actual\": [[\"a\", 1, 1, [10]], [\"a\", 3, 3, [11]], [\"a\", 5, 5, [12]]], \"expected\": [[\"a\", 1, 5, [10, 11, 12]]], \"passed\": false}, {\"check\": \"arrival order\", \"actual\": [[\"a\", 1, 1, [11]], [\"a\", 3, 3, [10]]], \"expected\": [[\"a\", 1, 3, [11, 10]]], \"passed\": false}, {\"check\": \"key separation\", \"actual\": [[\"a\", 1, 1, [10]], [\"b\", 1, 1, [11]]], \"expected\": [[\"a\", 1, 1, [10]], [\"b\", 1, 1, [11]]], \"passed\": true}, {\"check\": \"separate sessions\", \"actual\": [[\"a\", 1, 1, [10]], [\"a\", 6, 6, [11]]], \"expected\": [[\"a\", 1, 1, [10]], [\"a\", 6, 6, [11]]], \"passed\": true}, {\"check\": \"equal timestamp\", \"actual\": [[\"a\", 1, 1, [10]], [\"a\", 1, 1, [11]]], \"expected\": [[\"a\", 1, 1, [10, 11]]], \"passed\": false}, {\"check\": \"single event\", \"actual\": [[\"a\", 1, 1, [10]]], \"expected\": [[\"a\", 1, 1, [10]]], \"passed\": true}, {\"check\": \"empty stream\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.989,"exit_code":1,"observations":[{"actual":[["a",1,3,[10,11]],["a",5,5,[12]]],"check":"bridge chain","expected":[["a",1,5,[10,11,12]]],"passed":false},{"actual":[["a",1,3,[11,10]]],"check":"arrival order","expected":[["a",1,3,[11,10]]],"passed":true},{"actual":[["a",1,1,[10]],["b",1,1,[11]]],"check":"key separation","expected":[["a",1,1,[10]],["b",1,1,[11]]],"passed":true},{"actual":[["a",1,1,[10]],["a",6,6,[11]]],"check":"separate sessions","expected":[["a",1,1,[10]],["a",6,6,[11]]],"passed":true},{"actual":[["a",1,1,[10,11]]],"check":"equal timestamp","expected":[["a",1,1,[10,11]]],"passed":true},{"actual":[["a",1,1,[10]]],"check":"single event","expected":[["a",1,1,[10]]],"passed":true},{"actual":[],"check":"empty stream","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bridge chain\", \"actual\": [[\"a\", 1, 3, [10, 11]], [\"a\", 5, 5, [12]]], \"expected\": [[\"a\", 1, 5, [10, 11, 12]]], \"passed\": false}, {\"check\": \"arrival order\", \"actual\": [[\"a\", 1, 3, [11, 10]]], \"expected\": [[\"a\", 1, 3, [11, 10]]], \"passed\": true}, {\"check\": \"key separation\", \"actual\": [[\"a\", 1, 1, [10]], [\"b\", 1, 1, [11]]], \"expected\": [[\"a\", 1, 1, [10]], [\"b\", 1, 1, [11]]], \"passed\": true}, {\"check\": \"separate sessions\", \"actual\": [[\"a\", 1, 1, [10]], [\"a\", 6, 6, [11]]], \"expected\": [[\"a\", 1, 1, [10]], [\"a\", 6, 6, [11]]], \"passed\": true}, {\"check\": \"equal timestamp\", \"actual\": [[\"a\", 1, 1, [10, 11]]], \"expected\": [[\"a\", 1, 1, [10, 11]]], \"passed\": true}, {\"check\": \"single event\", \"actual\": [[\"a\", 1, 1, [10]]], \"expected\": [[\"a\", 1, 1, [10]]], \"passed\": true}, {\"check\": \"empty stream\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.33,"exit_code":0,"observations":[{"actual":[["a",1,5,[10,11,12]]],"check":"bridge chain","expected":[["a",1,5,[10,11,12]]],"passed":true},{"actual":[["a",1,3,[11,10]]],"check":"arrival order","expected":[["a",1,3,[11,10]]],"passed":true},{"actual":[["a",1,1,[10]],["b",1,1,[11]]],"check":"key separation","expected":[["a",1,1,[10]],["b",1,1,[11]]],"passed":true},{"actual":[["a",1,1,[10]],["a",6,6,[11]]],"check":"separate sessions","expected":[["a",1,1,[10]],["a",6,6,[11]]],"passed":true},{"actual":[["a",1,1,[10,11]]],"check":"equal timestamp","expected":[["a",1,1,[10,11]]],"passed":true},{"actual":[["a",1,1,[10]]],"check":"single event","expected":[["a",1,1,[10]]],"passed":true},{"actual":[],"check":"empty stream","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bridge chain\", \"actual\": [[\"a\", 1, 5, [10, 11, 12]]], \"expected\": [[\"a\", 1, 5, [10, 11, 12]]], \"passed\": true}, {\"check\": \"arrival order\", \"actual\": [[\"a\", 1, 3, [11, 10]]], \"expected\": [[\"a\", 1, 3, [11, 10]]], \"passed\": true}, {\"check\": \"key separation\", \"actual\": [[\"a\", 1, 1, [10]], [\"b\", 1, 1, [11]]], \"expected\": [[\"a\", 1, 1, [10]], [\"b\", 1, 1, [11]]], \"passed\": true}, {\"check\": \"separate sessions\", \"actual\": [[\"a\", 1, 1, [10]], [\"a\", 6, 6, [11]]], \"expected\": [[\"a\", 1, 1, [10]], [\"a\", 6, 6, [11]]], \"passed\": true}, {\"check\": \"equal timestamp\", \"actual\": [[\"a\", 1, 1, [10, 11]]], \"expected\": [[\"a\", 1, 1, [10, 11]]], \"passed\": true}, {\"check\": \"single event\", \"actual\": [[\"a\", 1, 1, [10]]], \"expected\": [[\"a\", 1, 1, [10]]], \"passed\": true}, {\"check\": \"empty stream\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}