{"abstract":"The newest message is never requested when it is the one that is missing.","category":"Chat ordering and read receipts","checks":7,"contract":"have lists received seqs (unsorted, duplicates possible); horizon is the oldest seq the server still retains; head is the newest known seq. Every seq in [horizon, head] not received is missing; missing seqs are merged into inclusive [start, end] ranges, returned newest first and limited to max_ranges. complete is true only when nothing is missing.","evaluation_group":"w2-chat_ordering_and_read_receipts-gap-backfill","failed_approach":"Shifting the scan window down still stops before the head sequence and starts before the horizon. The attempted `range(lo - 1, hi)` still disagrees with a fixture.","family":"w2-chat_ordering_and_read_receipts-gap-backfill-head-inclusive","id":"FA-76036","implementations":{"attempt":{"sha256":"fd6c1b758482e8cebe049969a252b462f2058267c80523e6541166abb190204b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(have, horizon, head, max_ranges):\n    got = set(have)\n    lo = horizon\n    hi = head\n    ranges = []\n    start = None\n    for s in range(lo - 1, hi):\n        if s not in got:\n            if start is None:\n                start = s\n        elif start is not None:\n            ranges.append([start, s - 1])\n            start = None\n    if start is not None:\n        ranges.append([start, hi])\n    ranges.reverse()\n    return {'fetch': ranges[:max_ranges], 'complete': not ranges}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('gap before first received', ([6, 7, 10], 3, 10, 5), {'complete': False, 'fetch': [[8, 9], [3, 5]]}), ('head not yet received', ([1, 2, 3], 1, 5, 3), {'complete': False, 'fetch': [[4, 5]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 11], 1, 11, 2), {'complete': False, 'fetch': [[8, 10], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 4, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 9, 5), {'complete': False, 'fetch': [[9, 9], [3, 7]]})], 2: [('gap before first received', ([7, 8, 11], 4, 11, 5), {'complete': False, 'fetch': [[9, 10], [4, 6]]}), ('head not yet received', ([1, 2, 3], 1, 6, 3), {'complete': False, 'fetch': [[4, 6]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 12], 1, 12, 2), {'complete': False, 'fetch': [[8, 11], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 5, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 10, 5), {'complete': False, 'fetch': [[9, 10], [3, 7]]})], 3: [('gap before first received', ([8, 9, 12], 5, 12, 5), {'complete': False, 'fetch': [[10, 11], [5, 7]]}), ('head not yet received', ([1, 2, 3], 1, 7, 3), {'complete': False, 'fetch': [[4, 7]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 13], 1, 13, 2), {'complete': False, 'fetch': [[8, 12], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 6, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 11, 5), {'complete': False, 'fetch': [[9, 11], [3, 7]]})], 4: [('gap before first received', ([9, 10, 13], 6, 13, 5), {'complete': False, 'fetch': [[11, 12], [6, 8]]}), ('head not yet received', ([1, 2, 3], 1, 8, 3), {'complete': False, 'fetch': [[4, 8]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 14], 1, 14, 2), {'complete': False, 'fetch': [[8, 13], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 7, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 12, 5), {'complete': False, 'fetch': [[9, 12], [3, 7]]})], 5: [('gap before first received', ([10, 11, 14], 7, 14, 5), {'complete': False, 'fetch': [[12, 13], [7, 9]]}), ('head not yet received', ([1, 2, 3], 1, 9, 3), {'complete': False, 'fetch': [[4, 9]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 15], 1, 15, 2), {'complete': False, 'fetch': [[8, 14], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 8, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 13, 5), {'complete': False, 'fetch': [[9, 13], [3, 7]]})]}\nfor _label, _args, _expected in _CASES[N]:\n    check(_label, solve(*_args), _expected)\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":"8823eeda350bdac011b23b50f847503033d6048ea66f7883e68c5cd785c07604","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(have, horizon, head, max_ranges):\n    got = set(have)\n    lo = horizon\n    hi = head\n    ranges = []\n    start = None\n    for s in range(lo, hi):\n        if s not in got:\n            if start is None:\n                start = s\n        elif start is not None:\n            ranges.append([start, s - 1])\n            start = None\n    if start is not None:\n        ranges.append([start, hi])\n    ranges.reverse()\n    return {'fetch': ranges[:max_ranges], 'complete': not ranges}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('gap before first received', ([6, 7, 10], 3, 10, 5), {'complete': False, 'fetch': [[8, 9], [3, 5]]}), ('head not yet received', ([1, 2, 3], 1, 5, 3), {'complete': False, 'fetch': [[4, 5]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 11], 1, 11, 2), {'complete': False, 'fetch': [[8, 10], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 4, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 9, 5), {'complete': False, 'fetch': [[9, 9], [3, 7]]})], 2: [('gap before first received', ([7, 8, 11], 4, 11, 5), {'complete': False, 'fetch': [[9, 10], [4, 6]]}), ('head not yet received', ([1, 2, 3], 1, 6, 3), {'complete': False, 'fetch': [[4, 6]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 12], 1, 12, 2), {'complete': False, 'fetch': [[8, 11], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 5, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 10, 5), {'complete': False, 'fetch': [[9, 10], [3, 7]]})], 3: [('gap before first received', ([8, 9, 12], 5, 12, 5), {'complete': False, 'fetch': [[10, 11], [5, 7]]}), ('head not yet received', ([1, 2, 3], 1, 7, 3), {'complete': False, 'fetch': [[4, 7]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 13], 1, 13, 2), {'complete': False, 'fetch': [[8, 12], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 6, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 11, 5), {'complete': False, 'fetch': [[9, 11], [3, 7]]})], 4: [('gap before first received', ([9, 10, 13], 6, 13, 5), {'complete': False, 'fetch': [[11, 12], [6, 8]]}), ('head not yet received', ([1, 2, 3], 1, 8, 3), {'complete': False, 'fetch': [[4, 8]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 14], 1, 14, 2), {'complete': False, 'fetch': [[8, 13], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 7, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 12, 5), {'complete': False, 'fetch': [[9, 12], [3, 7]]})], 5: [('gap before first received', ([10, 11, 14], 7, 14, 5), {'complete': False, 'fetch': [[12, 13], [7, 9]]}), ('head not yet received', ([1, 2, 3], 1, 9, 3), {'complete': False, 'fetch': [[4, 9]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 15], 1, 15, 2), {'complete': False, 'fetch': [[8, 14], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 8, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 13, 5), {'complete': False, 'fetch': [[9, 13], [3, 7]]})]}\nfor _label, _args, _expected in _CASES[N]:\n    check(_label, solve(*_args), _expected)\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":"a624374b2c66ba3fc7efc0b86c51a62e48841f499ba502b93d7b0fd06f55a8dd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(have, horizon, head, max_ranges):\n    got = set(have)\n    lo = horizon\n    hi = head\n    ranges = []\n    start = None\n    for s in range(lo, hi + 1):\n        if s not in got:\n            if start is None:\n                start = s\n        elif start is not None:\n            ranges.append([start, s - 1])\n            start = None\n    if start is not None:\n        ranges.append([start, hi])\n    ranges.reverse()\n    return {'fetch': ranges[:max_ranges], 'complete': not ranges}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\n_CASES = {1: [('gap before first received', ([6, 7, 10], 3, 10, 5), {'complete': False, 'fetch': [[8, 9], [3, 5]]}), ('head not yet received', ([1, 2, 3], 1, 5, 3), {'complete': False, 'fetch': [[4, 5]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 11], 1, 11, 2), {'complete': False, 'fetch': [[8, 10], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 4, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 9, 5), {'complete': False, 'fetch': [[9, 9], [3, 7]]})], 2: [('gap before first received', ([7, 8, 11], 4, 11, 5), {'complete': False, 'fetch': [[9, 10], [4, 6]]}), ('head not yet received', ([1, 2, 3], 1, 6, 3), {'complete': False, 'fetch': [[4, 6]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 12], 1, 12, 2), {'complete': False, 'fetch': [[8, 11], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 5, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 10, 5), {'complete': False, 'fetch': [[9, 10], [3, 7]]})], 3: [('gap before first received', ([8, 9, 12], 5, 12, 5), {'complete': False, 'fetch': [[10, 11], [5, 7]]}), ('head not yet received', ([1, 2, 3], 1, 7, 3), {'complete': False, 'fetch': [[4, 7]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 13], 1, 13, 2), {'complete': False, 'fetch': [[8, 12], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 6, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 11, 5), {'complete': False, 'fetch': [[9, 11], [3, 7]]})], 4: [('gap before first received', ([9, 10, 13], 6, 13, 5), {'complete': False, 'fetch': [[11, 12], [6, 8]]}), ('head not yet received', ([1, 2, 3], 1, 8, 3), {'complete': False, 'fetch': [[4, 8]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 14], 1, 14, 2), {'complete': False, 'fetch': [[8, 13], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 7, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 12, 5), {'complete': False, 'fetch': [[9, 12], [3, 7]]})], 5: [('gap before first received', ([10, 11, 14], 7, 14, 5), {'complete': False, 'fetch': [[12, 13], [7, 9]]}), ('head not yet received', ([1, 2, 3], 1, 9, 3), {'complete': False, 'fetch': [[4, 9]]}), ('single missing seqs', ([1, 3, 5, 7], 1, 7, 10), {'complete': False, 'fetch': [[6, 6], [4, 4], [2, 2]]}), ('several gaps limited', ([1, 4, 7, 15], 1, 15, 2), {'complete': False, 'fetch': [[8, 14], [5, 6]]}), ('nothing missing', ([3, 4, 5, 5], 3, 5, 0), {'complete': True, 'fetch': []}), ('limit zero with gaps', ([1, 3], 1, 8, 0), {'complete': False, 'fetch': []}), ('uneven gaps newest first', ([1, 2, 8], 1, 13, 5), {'complete': False, 'fetch': [[9, 13], [3, 7]]})]}\nfor _label, _args, _expected in _CASES[N]:\n    check(_label, solve(*_args), _expected)\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 offline chat model; not a complete messaging protocol, client or server implementation. 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":"w2-chat_ordering_and_read_receipts-gap-backfill-head-inclusive","generated_at":"2026-09-29T14:49:12.608951+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Chat clients repair gaps after reconnecting; wrong ranges refetch too much or leave holes in the timeline.","repair":"Use `range(lo, hi + 1)` for the head inclusive decision and keep every other rule of the model unchanged.","root_cause":"The head inclusive decision evaluates `range(lo, hi)` where the contract requires `range(lo, hi + 1)`.","sha256":"1ad1bc716553875791efd10ad251922464639904981b9095ffc0c769de588e27","title":"Plan history backfill requests for missing sequences: head inclusive · case 01","variant":1,"variant_policy":"N selects a different enumerated fixture set (shifted clocks, identifiers and sizes); boundary fixtures recur across variants.","verification":{"attempt":{"elapsed_ms":39.885,"exit_code":1,"observations":[{"actual":{"complete":false,"fetch":[[8,10],[2,5]]},"check":"gap before first received","expected":{"complete":false,"fetch":[[8,9],[3,5]]},"passed":false},{"actual":{"complete":false,"fetch":[[4,5],[0,0]]},"check":"head not yet received","expected":{"complete":false,"fetch":[[4,5]]},"passed":false},{"actual":{"complete":false,"fetch":[[6,7],[4,4],[2,2],[0,0]]},"check":"single missing seqs","expected":{"complete":false,"fetch":[[6,6],[4,4],[2,2]]},"passed":false},{"actual":{"complete":false,"fetch":[[8,11],[5,6]]},"check":"several gaps limited","expected":{"complete":false,"fetch":[[8,10],[5,6]]},"passed":false},{"actual":{"complete":false,"fetch":[]},"check":"nothing missing","expected":{"complete":true,"fetch":[]},"passed":false},{"actual":{"complete":false,"fetch":[]},"check":"limit zero with gaps","expected":{"complete":false,"fetch":[]},"passed":true},{"actual":{"complete":false,"fetch":[[3,7],[0,0]]},"check":"uneven gaps newest first","expected":{"complete":false,"fetch":[[9,9],[3,7]]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"gap before first received\", \"actual\": {\"fetch\": [[8, 10], [2, 5]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[8, 9], [3, 5]]}, \"passed\": false}, {\"check\": \"head not yet received\", \"actual\": {\"fetch\": [[4, 5], [0, 0]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[4, 5]]}, \"passed\": false}, {\"check\": \"single missing seqs\", \"actual\": {\"fetch\": [[6, 7], [4, 4], [2, 2], [0, 0]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[6, 6], [4, 4], [2, 2]]}, \"passed\": false}, {\"check\": \"several gaps limited\", \"actual\": {\"fetch\": [[8, 11], [5, 6]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[8, 10], [5, 6]]}, \"passed\": false}, {\"check\": \"nothing missing\", \"actual\": {\"fetch\": [], \"complete\": false}, \"expected\": {\"complete\": true, \"fetch\": []}, \"passed\": false}, {\"check\": \"limit zero with gaps\", \"actual\": {\"fetch\": [], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": []}, \"passed\": true}, {\"check\": \"uneven gaps newest first\", \"actual\": {\"fetch\": [[3, 7], [0, 0]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[9, 9], [3, 7]]}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.546,"exit_code":1,"observations":[{"actual":{"complete":false,"fetch":[[8,10],[3,5]]},"check":"gap before first received","expected":{"complete":false,"fetch":[[8,9],[3,5]]},"passed":false},{"actual":{"complete":false,"fetch":[[4,5]]},"check":"head not yet received","expected":{"complete":false,"fetch":[[4,5]]},"passed":true},{"actual":{"complete":false,"fetch":[[6,7],[4,4],[2,2]]},"check":"single missing seqs","expected":{"complete":false,"fetch":[[6,6],[4,4],[2,2]]},"passed":false},{"actual":{"complete":false,"fetch":[[8,11],[5,6]]},"check":"several gaps limited","expected":{"complete":false,"fetch":[[8,10],[5,6]]},"passed":false},{"actual":{"complete":true,"fetch":[]},"check":"nothing missing","expected":{"complete":true,"fetch":[]},"passed":true},{"actual":{"complete":false,"fetch":[]},"check":"limit zero with gaps","expected":{"complete":false,"fetch":[]},"passed":true},{"actual":{"complete":false,"fetch":[[3,7]]},"check":"uneven gaps newest first","expected":{"complete":false,"fetch":[[9,9],[3,7]]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"gap before first received\", \"actual\": {\"fetch\": [[8, 10], [3, 5]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[8, 9], [3, 5]]}, \"passed\": false}, {\"check\": \"head not yet received\", \"actual\": {\"fetch\": [[4, 5]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[4, 5]]}, \"passed\": true}, {\"check\": \"single missing seqs\", \"actual\": {\"fetch\": [[6, 7], [4, 4], [2, 2]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[6, 6], [4, 4], [2, 2]]}, \"passed\": false}, {\"check\": \"several gaps limited\", \"actual\": {\"fetch\": [[8, 11], [5, 6]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[8, 10], [5, 6]]}, \"passed\": false}, {\"check\": \"nothing missing\", \"actual\": {\"fetch\": [], \"complete\": true}, \"expected\": {\"complete\": true, \"fetch\": []}, \"passed\": true}, {\"check\": \"limit zero with gaps\", \"actual\": {\"fetch\": [], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": []}, \"passed\": true}, {\"check\": \"uneven gaps newest first\", \"actual\": {\"fetch\": [[3, 7]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[9, 9], [3, 7]]}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.302,"exit_code":0,"observations":[{"actual":{"complete":false,"fetch":[[8,9],[3,5]]},"check":"gap before first received","expected":{"complete":false,"fetch":[[8,9],[3,5]]},"passed":true},{"actual":{"complete":false,"fetch":[[4,5]]},"check":"head not yet received","expected":{"complete":false,"fetch":[[4,5]]},"passed":true},{"actual":{"complete":false,"fetch":[[6,6],[4,4],[2,2]]},"check":"single missing seqs","expected":{"complete":false,"fetch":[[6,6],[4,4],[2,2]]},"passed":true},{"actual":{"complete":false,"fetch":[[8,10],[5,6]]},"check":"several gaps limited","expected":{"complete":false,"fetch":[[8,10],[5,6]]},"passed":true},{"actual":{"complete":true,"fetch":[]},"check":"nothing missing","expected":{"complete":true,"fetch":[]},"passed":true},{"actual":{"complete":false,"fetch":[]},"check":"limit zero with gaps","expected":{"complete":false,"fetch":[]},"passed":true},{"actual":{"complete":false,"fetch":[[9,9],[3,7]]},"check":"uneven gaps newest first","expected":{"complete":false,"fetch":[[9,9],[3,7]]},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"gap before first received\", \"actual\": {\"fetch\": [[8, 9], [3, 5]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[8, 9], [3, 5]]}, \"passed\": true}, {\"check\": \"head not yet received\", \"actual\": {\"fetch\": [[4, 5]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[4, 5]]}, \"passed\": true}, {\"check\": \"single missing seqs\", \"actual\": {\"fetch\": [[6, 6], [4, 4], [2, 2]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[6, 6], [4, 4], [2, 2]]}, \"passed\": true}, {\"check\": \"several gaps limited\", \"actual\": {\"fetch\": [[8, 10], [5, 6]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[8, 10], [5, 6]]}, \"passed\": true}, {\"check\": \"nothing missing\", \"actual\": {\"fetch\": [], \"complete\": true}, \"expected\": {\"complete\": true, \"fetch\": []}, \"passed\": true}, {\"check\": \"limit zero with gaps\", \"actual\": {\"fetch\": [], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": []}, \"passed\": true}, {\"check\": \"uneven gaps newest first\", \"actual\": {\"fetch\": [[9, 9], [3, 7]], \"complete\": false}, \"expected\": {\"complete\": false, \"fetch\": [[9, 9], [3, 7]]}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}