{"abstract":"Top-k suppresses insertions for score changes of surviving IDs.","category":"Data systems","checks":7,"contract":"Maintain unique-ID scored rows with upsert/delete operations, then report changes to a top-k materialized view. Scores order descending with ascending ID ties. Retractions carry old scores; insertions carry new scores. Score updates within the top-k emit both. Return retractions sorted by ID, then insertions sorted by ID.","evaluation_group":"s3-data-systems-incremental-topk-membership","failed_approach":"Conjunction still loses the replacement tuple for an existing identity.","family":"s3-data-systems-incremental-topk-membership-new-score-change","id":"FA-45711","implementations":{"attempt":{"sha256":"f3005d70162a9811735d27506611223008756d817e3bb48cae61e1a8fa2dafd7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        initial,changes,k=d\n        before=dict(initial); after=dict(initial)\n        for op,ident,score in changes:\n            if op=='delete': after.pop(ident,None)\n            else: after[ident]=score\n        old=dict(sorted(before.items(),key=lambda p:(-p[1],p[0]))[:k])\n        new=dict(sorted(after.items(),key=lambda p:(-p[1],p[0]))[:k])\n        removed=[[i,s,-1] for i,s in sorted(old.items()) if i not in new or new[i]!=s]\n        added=[[i,s,1] for i,s in sorted(new.items()) if i not in old and old.get(i)!=s]\n        return removed+added\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('delete leader', solve([[[1, 4], [2, 3], [3, 2]], [['delete', 1, None]], 1]), [[1, 4, -1], [2, 3, 1]])\n    check('delete two leaders', solve([[[1, 4], [2, 3], [3, 2]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 4, -1], [3, 2, 1]])\n    check('score changes in view', solve([[[1, 4], [2, 1]], [['upsert', 1, 5]], 1]), [[1, 4, -1], [1, 5, 1]])\n    check('promote outsider', solve([[[1, 3], [2, 1]], [['upsert', 2, 4]], 1]), [[1, 3, -1], [2, 4, 1]])\n    check('insert tie lower id', solve([[[2, 1]], [['upsert', 1, 1]], 1]), [[2, 1, -1], [1, 1, 1]])\n    check('no changes', solve([[[1, 1]], [], 1]), [])\n    check('zero view', solve([[[1, 1]], [['upsert', 2, 2]], 0]), [])\nelif N == 2:\n    check('delete leader', solve([[[1, 5], [2, 4], [3, 3]], [['delete', 1, None]], 1]), [[1, 5, -1], [2, 4, 1]])\n    check('delete two leaders', solve([[[1, 5], [2, 4], [3, 3]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 5, -1], [3, 3, 1]])\n    check('score changes in view', solve([[[1, 5], [2, 2]], [['upsert', 1, 6]], 1]), [[1, 5, -1], [1, 6, 1]])\n    check('promote outsider', solve([[[1, 4], [2, 2]], [['upsert', 2, 5]], 1]), [[1, 4, -1], [2, 5, 1]])\n    check('insert tie lower id', solve([[[2, 2]], [['upsert', 1, 2]], 1]), [[2, 2, -1], [1, 2, 1]])\n    check('no changes', solve([[[1, 2]], [], 1]), [])\n    check('zero view', solve([[[1, 2]], [['upsert', 2, 3]], 0]), [])\nelif N == 3:\n    check('delete leader', solve([[[1, 6], [2, 5], [3, 4]], [['delete', 1, None]], 1]), [[1, 6, -1], [2, 5, 1]])\n    check('delete two leaders', solve([[[1, 6], [2, 5], [3, 4]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 6, -1], [3, 4, 1]])\n    check('score changes in view', solve([[[1, 6], [2, 3]], [['upsert', 1, 7]], 1]), [[1, 6, -1], [1, 7, 1]])\n    check('promote outsider', solve([[[1, 5], [2, 3]], [['upsert', 2, 6]], 1]), [[1, 5, -1], [2, 6, 1]])\n    check('insert tie lower id', solve([[[2, 3]], [['upsert', 1, 3]], 1]), [[2, 3, -1], [1, 3, 1]])\n    check('no changes', solve([[[1, 3]], [], 1]), [])\n    check('zero view', solve([[[1, 3]], [['upsert', 2, 4]], 0]), [])\nelif N == 4:\n    check('delete leader', solve([[[1, 7], [2, 6], [3, 5]], [['delete', 1, None]], 1]), [[1, 7, -1], [2, 6, 1]])\n    check('delete two leaders', solve([[[1, 7], [2, 6], [3, 5]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 7, -1], [3, 5, 1]])\n    check('score changes in view', solve([[[1, 7], [2, 4]], [['upsert', 1, 8]], 1]), [[1, 7, -1], [1, 8, 1]])\n    check('promote outsider', solve([[[1, 6], [2, 4]], [['upsert', 2, 7]], 1]), [[1, 6, -1], [2, 7, 1]])\n    check('insert tie lower id', solve([[[2, 4]], [['upsert', 1, 4]], 1]), [[2, 4, -1], [1, 4, 1]])\n    check('no changes', solve([[[1, 4]], [], 1]), [])\n    check('zero view', solve([[[1, 4]], [['upsert', 2, 5]], 0]), [])\nelif N == 5:\n    check('delete leader', solve([[[1, 8], [2, 7], [3, 6]], [['delete', 1, None]], 1]), [[1, 8, -1], [2, 7, 1]])\n    check('delete two leaders', solve([[[1, 8], [2, 7], [3, 6]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 8, -1], [3, 6, 1]])\n    check('score changes in view', solve([[[1, 8], [2, 5]], [['upsert', 1, 9]], 1]), [[1, 8, -1], [1, 9, 1]])\n    check('promote outsider', solve([[[1, 7], [2, 5]], [['upsert', 2, 8]], 1]), [[1, 7, -1], [2, 8, 1]])\n    check('insert tie lower id', solve([[[2, 5]], [['upsert', 1, 5]], 1]), [[2, 5, -1], [1, 5, 1]])\n    check('no changes', solve([[[1, 5]], [], 1]), [])\n    check('zero view', solve([[[1, 5]], [['upsert', 2, 6]], 0]), [])\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":"ada492c7801cd5dcdabf3a40c0afeb1b462af3a3239065e99758d1c296fbb0f4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        initial,changes,k=d\n        before=dict(initial); after=dict(initial)\n        for op,ident,score in changes:\n            if op=='delete': after.pop(ident,None)\n            else: after[ident]=score\n        old=dict(sorted(before.items(),key=lambda p:(-p[1],p[0]))[:k])\n        new=dict(sorted(after.items(),key=lambda p:(-p[1],p[0]))[:k])\n        removed=[[i,s,-1] for i,s in sorted(old.items()) if i not in new or new[i]!=s]\n        added=[[i,s,1] for i,s in sorted(new.items()) if i not in old]\n        return removed+added\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('delete leader', solve([[[1, 4], [2, 3], [3, 2]], [['delete', 1, None]], 1]), [[1, 4, -1], [2, 3, 1]])\n    check('delete two leaders', solve([[[1, 4], [2, 3], [3, 2]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 4, -1], [3, 2, 1]])\n    check('score changes in view', solve([[[1, 4], [2, 1]], [['upsert', 1, 5]], 1]), [[1, 4, -1], [1, 5, 1]])\n    check('promote outsider', solve([[[1, 3], [2, 1]], [['upsert', 2, 4]], 1]), [[1, 3, -1], [2, 4, 1]])\n    check('insert tie lower id', solve([[[2, 1]], [['upsert', 1, 1]], 1]), [[2, 1, -1], [1, 1, 1]])\n    check('no changes', solve([[[1, 1]], [], 1]), [])\n    check('zero view', solve([[[1, 1]], [['upsert', 2, 2]], 0]), [])\nelif N == 2:\n    check('delete leader', solve([[[1, 5], [2, 4], [3, 3]], [['delete', 1, None]], 1]), [[1, 5, -1], [2, 4, 1]])\n    check('delete two leaders', solve([[[1, 5], [2, 4], [3, 3]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 5, -1], [3, 3, 1]])\n    check('score changes in view', solve([[[1, 5], [2, 2]], [['upsert', 1, 6]], 1]), [[1, 5, -1], [1, 6, 1]])\n    check('promote outsider', solve([[[1, 4], [2, 2]], [['upsert', 2, 5]], 1]), [[1, 4, -1], [2, 5, 1]])\n    check('insert tie lower id', solve([[[2, 2]], [['upsert', 1, 2]], 1]), [[2, 2, -1], [1, 2, 1]])\n    check('no changes', solve([[[1, 2]], [], 1]), [])\n    check('zero view', solve([[[1, 2]], [['upsert', 2, 3]], 0]), [])\nelif N == 3:\n    check('delete leader', solve([[[1, 6], [2, 5], [3, 4]], [['delete', 1, None]], 1]), [[1, 6, -1], [2, 5, 1]])\n    check('delete two leaders', solve([[[1, 6], [2, 5], [3, 4]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 6, -1], [3, 4, 1]])\n    check('score changes in view', solve([[[1, 6], [2, 3]], [['upsert', 1, 7]], 1]), [[1, 6, -1], [1, 7, 1]])\n    check('promote outsider', solve([[[1, 5], [2, 3]], [['upsert', 2, 6]], 1]), [[1, 5, -1], [2, 6, 1]])\n    check('insert tie lower id', solve([[[2, 3]], [['upsert', 1, 3]], 1]), [[2, 3, -1], [1, 3, 1]])\n    check('no changes', solve([[[1, 3]], [], 1]), [])\n    check('zero view', solve([[[1, 3]], [['upsert', 2, 4]], 0]), [])\nelif N == 4:\n    check('delete leader', solve([[[1, 7], [2, 6], [3, 5]], [['delete', 1, None]], 1]), [[1, 7, -1], [2, 6, 1]])\n    check('delete two leaders', solve([[[1, 7], [2, 6], [3, 5]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 7, -1], [3, 5, 1]])\n    check('score changes in view', solve([[[1, 7], [2, 4]], [['upsert', 1, 8]], 1]), [[1, 7, -1], [1, 8, 1]])\n    check('promote outsider', solve([[[1, 6], [2, 4]], [['upsert', 2, 7]], 1]), [[1, 6, -1], [2, 7, 1]])\n    check('insert tie lower id', solve([[[2, 4]], [['upsert', 1, 4]], 1]), [[2, 4, -1], [1, 4, 1]])\n    check('no changes', solve([[[1, 4]], [], 1]), [])\n    check('zero view', solve([[[1, 4]], [['upsert', 2, 5]], 0]), [])\nelif N == 5:\n    check('delete leader', solve([[[1, 8], [2, 7], [3, 6]], [['delete', 1, None]], 1]), [[1, 8, -1], [2, 7, 1]])\n    check('delete two leaders', solve([[[1, 8], [2, 7], [3, 6]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 8, -1], [3, 6, 1]])\n    check('score changes in view', solve([[[1, 8], [2, 5]], [['upsert', 1, 9]], 1]), [[1, 8, -1], [1, 9, 1]])\n    check('promote outsider', solve([[[1, 7], [2, 5]], [['upsert', 2, 8]], 1]), [[1, 7, -1], [2, 8, 1]])\n    check('insert tie lower id', solve([[[2, 5]], [['upsert', 1, 5]], 1]), [[2, 5, -1], [1, 5, 1]])\n    check('no changes', solve([[[1, 5]], [], 1]), [])\n    check('zero view', solve([[[1, 5]], [['upsert', 2, 6]], 0]), [])\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":"66ea5871317edf44735cd954e4b5687d76c57ce30e8f624da960758974d84d65","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        initial,changes,k=d\n        before=dict(initial); after=dict(initial)\n        for op,ident,score in changes:\n            if op=='delete': after.pop(ident,None)\n            else: after[ident]=score\n        old=dict(sorted(before.items(),key=lambda p:(-p[1],p[0]))[:k])\n        new=dict(sorted(after.items(),key=lambda p:(-p[1],p[0]))[:k])\n        removed=[[i,s,-1] for i,s in sorted(old.items()) if i not in new or new[i]!=s]\n        added=[[i,s,1] for i,s in sorted(new.items()) if i not in old or old[i]!=s]\n        return removed+added\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('delete leader', solve([[[1, 4], [2, 3], [3, 2]], [['delete', 1, None]], 1]), [[1, 4, -1], [2, 3, 1]])\n    check('delete two leaders', solve([[[1, 4], [2, 3], [3, 2]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 4, -1], [3, 2, 1]])\n    check('score changes in view', solve([[[1, 4], [2, 1]], [['upsert', 1, 5]], 1]), [[1, 4, -1], [1, 5, 1]])\n    check('promote outsider', solve([[[1, 3], [2, 1]], [['upsert', 2, 4]], 1]), [[1, 3, -1], [2, 4, 1]])\n    check('insert tie lower id', solve([[[2, 1]], [['upsert', 1, 1]], 1]), [[2, 1, -1], [1, 1, 1]])\n    check('no changes', solve([[[1, 1]], [], 1]), [])\n    check('zero view', solve([[[1, 1]], [['upsert', 2, 2]], 0]), [])\nelif N == 2:\n    check('delete leader', solve([[[1, 5], [2, 4], [3, 3]], [['delete', 1, None]], 1]), [[1, 5, -1], [2, 4, 1]])\n    check('delete two leaders', solve([[[1, 5], [2, 4], [3, 3]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 5, -1], [3, 3, 1]])\n    check('score changes in view', solve([[[1, 5], [2, 2]], [['upsert', 1, 6]], 1]), [[1, 5, -1], [1, 6, 1]])\n    check('promote outsider', solve([[[1, 4], [2, 2]], [['upsert', 2, 5]], 1]), [[1, 4, -1], [2, 5, 1]])\n    check('insert tie lower id', solve([[[2, 2]], [['upsert', 1, 2]], 1]), [[2, 2, -1], [1, 2, 1]])\n    check('no changes', solve([[[1, 2]], [], 1]), [])\n    check('zero view', solve([[[1, 2]], [['upsert', 2, 3]], 0]), [])\nelif N == 3:\n    check('delete leader', solve([[[1, 6], [2, 5], [3, 4]], [['delete', 1, None]], 1]), [[1, 6, -1], [2, 5, 1]])\n    check('delete two leaders', solve([[[1, 6], [2, 5], [3, 4]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 6, -1], [3, 4, 1]])\n    check('score changes in view', solve([[[1, 6], [2, 3]], [['upsert', 1, 7]], 1]), [[1, 6, -1], [1, 7, 1]])\n    check('promote outsider', solve([[[1, 5], [2, 3]], [['upsert', 2, 6]], 1]), [[1, 5, -1], [2, 6, 1]])\n    check('insert tie lower id', solve([[[2, 3]], [['upsert', 1, 3]], 1]), [[2, 3, -1], [1, 3, 1]])\n    check('no changes', solve([[[1, 3]], [], 1]), [])\n    check('zero view', solve([[[1, 3]], [['upsert', 2, 4]], 0]), [])\nelif N == 4:\n    check('delete leader', solve([[[1, 7], [2, 6], [3, 5]], [['delete', 1, None]], 1]), [[1, 7, -1], [2, 6, 1]])\n    check('delete two leaders', solve([[[1, 7], [2, 6], [3, 5]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 7, -1], [3, 5, 1]])\n    check('score changes in view', solve([[[1, 7], [2, 4]], [['upsert', 1, 8]], 1]), [[1, 7, -1], [1, 8, 1]])\n    check('promote outsider', solve([[[1, 6], [2, 4]], [['upsert', 2, 7]], 1]), [[1, 6, -1], [2, 7, 1]])\n    check('insert tie lower id', solve([[[2, 4]], [['upsert', 1, 4]], 1]), [[2, 4, -1], [1, 4, 1]])\n    check('no changes', solve([[[1, 4]], [], 1]), [])\n    check('zero view', solve([[[1, 4]], [['upsert', 2, 5]], 0]), [])\nelif N == 5:\n    check('delete leader', solve([[[1, 8], [2, 7], [3, 6]], [['delete', 1, None]], 1]), [[1, 8, -1], [2, 7, 1]])\n    check('delete two leaders', solve([[[1, 8], [2, 7], [3, 6]], [['delete', 1, None], ['delete', 2, None]], 1]), [[1, 8, -1], [3, 6, 1]])\n    check('score changes in view', solve([[[1, 8], [2, 5]], [['upsert', 1, 9]], 1]), [[1, 8, -1], [1, 9, 1]])\n    check('promote outsider', solve([[[1, 7], [2, 5]], [['upsert', 2, 8]], 1]), [[1, 7, -1], [2, 8, 1]])\n    check('insert tie lower id', solve([[[2, 5]], [['upsert', 1, 5]], 1]), [[2, 5, -1], [1, 5, 1]])\n    check('no changes', solve([[[1, 5]], [], 1]), [])\n    check('zero view', solve([[[1, 5]], [['upsert', 2, 6]], 0]), [])\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-incremental-topk-membership-new-score-change","generated_at":"2026-09-29T14:44:25.037806+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: Maintain unique-ID scored rows with upsert/delete operations, then report changes to a top-k materialized view. Scores order descending with ascending ID ties. Retractions carry old scores; insertions carry new scores. Score updates within the top-k emit both. Return retractions sorted by ID, then insertions sorted by ID.","root_cause":"incremental-topk-membership: Top-k suppresses insertions for score changes of surviving IDs.","sha256":"a0f965bebdbd4c45533dfb022ac969ceb504ce4a2148bb24d41d4145957dc802","title":"Top-k suppresses insertions for score changes of surviving IDs · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.906,"exit_code":1,"observations":[{"actual":[[1,4,-1],[2,3,1]],"check":"delete leader","expected":[[1,4,-1],[2,3,1]],"passed":true},{"actual":[[1,4,-1],[3,2,1]],"check":"delete two leaders","expected":[[1,4,-1],[3,2,1]],"passed":true},{"actual":[[1,4,-1]],"check":"score changes in view","expected":[[1,4,-1],[1,5,1]],"passed":false},{"actual":[[1,3,-1],[2,4,1]],"check":"promote outsider","expected":[[1,3,-1],[2,4,1]],"passed":true},{"actual":[[2,1,-1],[1,1,1]],"check":"insert tie lower id","expected":[[2,1,-1],[1,1,1]],"passed":true},{"actual":[],"check":"no changes","expected":[],"passed":true},{"actual":[],"check":"zero view","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"delete leader\", \"actual\": [[1, 4, -1], [2, 3, 1]], \"expected\": [[1, 4, -1], [2, 3, 1]], \"passed\": true}, {\"check\": \"delete two leaders\", \"actual\": [[1, 4, -1], [3, 2, 1]], \"expected\": [[1, 4, -1], [3, 2, 1]], \"passed\": true}, {\"check\": \"score changes in view\", \"actual\": [[1, 4, -1]], \"expected\": [[1, 4, -1], [1, 5, 1]], \"passed\": false}, {\"check\": \"promote outsider\", \"actual\": [[1, 3, -1], [2, 4, 1]], \"expected\": [[1, 3, -1], [2, 4, 1]], \"passed\": true}, {\"check\": \"insert tie lower id\", \"actual\": [[2, 1, -1], [1, 1, 1]], \"expected\": [[2, 1, -1], [1, 1, 1]], \"passed\": true}, {\"check\": \"no changes\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"zero view\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.415,"exit_code":1,"observations":[{"actual":[[1,4,-1],[2,3,1]],"check":"delete leader","expected":[[1,4,-1],[2,3,1]],"passed":true},{"actual":[[1,4,-1],[3,2,1]],"check":"delete two leaders","expected":[[1,4,-1],[3,2,1]],"passed":true},{"actual":[[1,4,-1]],"check":"score changes in view","expected":[[1,4,-1],[1,5,1]],"passed":false},{"actual":[[1,3,-1],[2,4,1]],"check":"promote outsider","expected":[[1,3,-1],[2,4,1]],"passed":true},{"actual":[[2,1,-1],[1,1,1]],"check":"insert tie lower id","expected":[[2,1,-1],[1,1,1]],"passed":true},{"actual":[],"check":"no changes","expected":[],"passed":true},{"actual":[],"check":"zero view","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"delete leader\", \"actual\": [[1, 4, -1], [2, 3, 1]], \"expected\": [[1, 4, -1], [2, 3, 1]], \"passed\": true}, {\"check\": \"delete two leaders\", \"actual\": [[1, 4, -1], [3, 2, 1]], \"expected\": [[1, 4, -1], [3, 2, 1]], \"passed\": true}, {\"check\": \"score changes in view\", \"actual\": [[1, 4, -1]], \"expected\": [[1, 4, -1], [1, 5, 1]], \"passed\": false}, {\"check\": \"promote outsider\", \"actual\": [[1, 3, -1], [2, 4, 1]], \"expected\": [[1, 3, -1], [2, 4, 1]], \"passed\": true}, {\"check\": \"insert tie lower id\", \"actual\": [[2, 1, -1], [1, 1, 1]], \"expected\": [[2, 1, -1], [1, 1, 1]], \"passed\": true}, {\"check\": \"no changes\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"zero view\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":50.002,"exit_code":0,"observations":[{"actual":[[1,4,-1],[2,3,1]],"check":"delete leader","expected":[[1,4,-1],[2,3,1]],"passed":true},{"actual":[[1,4,-1],[3,2,1]],"check":"delete two leaders","expected":[[1,4,-1],[3,2,1]],"passed":true},{"actual":[[1,4,-1],[1,5,1]],"check":"score changes in view","expected":[[1,4,-1],[1,5,1]],"passed":true},{"actual":[[1,3,-1],[2,4,1]],"check":"promote outsider","expected":[[1,3,-1],[2,4,1]],"passed":true},{"actual":[[2,1,-1],[1,1,1]],"check":"insert tie lower id","expected":[[2,1,-1],[1,1,1]],"passed":true},{"actual":[],"check":"no changes","expected":[],"passed":true},{"actual":[],"check":"zero view","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"delete leader\", \"actual\": [[1, 4, -1], [2, 3, 1]], \"expected\": [[1, 4, -1], [2, 3, 1]], \"passed\": true}, {\"check\": \"delete two leaders\", \"actual\": [[1, 4, -1], [3, 2, 1]], \"expected\": [[1, 4, -1], [3, 2, 1]], \"passed\": true}, {\"check\": \"score changes in view\", \"actual\": [[1, 4, -1], [1, 5, 1]], \"expected\": [[1, 4, -1], [1, 5, 1]], \"passed\": true}, {\"check\": \"promote outsider\", \"actual\": [[1, 3, -1], [2, 4, 1]], \"expected\": [[1, 3, -1], [2, 4, 1]], \"passed\": true}, {\"check\": \"insert tie lower id\", \"actual\": [[2, 1, -1], [1, 1, 1]], \"expected\": [[2, 1, -1], [1, 1, 1]], \"passed\": true}, {\"check\": \"no changes\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"zero view\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}