{"abstract":"Overscan fails to include rows after the viewport.","category":"Viewport layout","checks":8,"contract":"Rows overlap a half-open viewport using cumulative measured heights; overscan expands both sides and clamps to valid row indices.","contract_signature":"heights, offset, viewport, overscan","evaluation_group":"xi-virtual-window","failed_approach":"Omitting the exclusive-end increment drops the final requested row.","family":"xi-virtual-window-after-overscan","id":"FA-8326","implementations":{"attempt":{"sha256":"f581061538fcf82baa08d369d9e46359b05e6ac99fff1ba603de9a1597ee042e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(heights, offset, viewport, overscan):\n    positions = [0]\n    for height in heights: positions.append(positions[-1] + height)\n    visible = [i for i in range(len(heights)) if positions[i+1] > offset and positions[i] < offset + viewport]\n    if not visible: return []\n    lo = max(0, visible[0] - overscan)\n    hi = min(len(heights), visible[-1] + overscan)\n    return list(range(lo, hi))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('variable', solve([10,30,5], 15, 10, 0), [1])\ncheck('top edge', solve([10,10,10], 10, 10, 0), [1])\ncheck('partial top', solve([10,10,10], 5, 10, 0), [0, 1])\ncheck('partial bottom', solve([10,10,10], 0, 15, 0), [0, 1])\ncheck('overscan', solve([10]*6, 20, 10, 1), [1, 2, 3])\ncheck('outside', solve([10,10], 30, 5, 1), [])\ncheck('parameterized measured heights', solve([N]*6, 2*N, N, 1), [1,2,3])\nfor repetition in range(N):\n    check('repeat outside', solve([10,10], 30, 5, 1), [])\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":"0b050248feece8cd35a26dbc5ab8f2a0a45e48e221dbc0637c9d41125a16a50b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(heights, offset, viewport, overscan):\n    positions = [0]\n    for height in heights: positions.append(positions[-1] + height)\n    visible = [i for i in range(len(heights)) if positions[i+1] > offset and positions[i] < offset + viewport]\n    if not visible: return []\n    lo = max(0, visible[0] - overscan)\n    hi = visible[-1] + 1\n    return list(range(lo, hi))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('variable', solve([10,30,5], 15, 10, 0), [1])\ncheck('top edge', solve([10,10,10], 10, 10, 0), [1])\ncheck('partial top', solve([10,10,10], 5, 10, 0), [0, 1])\ncheck('partial bottom', solve([10,10,10], 0, 15, 0), [0, 1])\ncheck('overscan', solve([10]*6, 20, 10, 1), [1, 2, 3])\ncheck('outside', solve([10,10], 30, 5, 1), [])\ncheck('parameterized measured heights', solve([N]*6, 2*N, N, 1), [1,2,3])\nfor repetition in range(N):\n    check('repeat outside', solve([10,10], 30, 5, 1), [])\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":" 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":"xi-virtual-window-after-overscan","generated_at":"2026-09-29T14:38:20.368588+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic model of virtualized row visibility; this isolates one interface invariant without requiring a browser.","root_cause":"The after overscan operation uses `visible[-1] + 1` where the contract requires `min(len(heights), visible[-1] + 1 + overscan)`.","sha256":"72f0c297c07a51757f3ba6f7cff8f87b0b6d0e9c9ff28d1f1498aa277d7be4a9","title":"Virtualized row visibility: Overscan fails to include rows after the viewport · 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":38.115,"exit_code":1,"observations":[{"actual":[],"check":"variable","expected":[1],"passed":false},{"actual":[],"check":"top edge","expected":[1],"passed":false},{"actual":[0],"check":"partial top","expected":[0,1],"passed":false},{"actual":[0],"check":"partial bottom","expected":[0,1],"passed":false},{"actual":[1,2],"check":"overscan","expected":[1,2,3],"passed":false},{"actual":[],"check":"outside","expected":[],"passed":true},{"actual":[1,2],"check":"parameterized measured heights","expected":[1,2,3],"passed":false},{"actual":[],"check":"repeat outside","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"variable\", \"actual\": [], \"expected\": [1], \"passed\": false}, {\"check\": \"top edge\", \"actual\": [], \"expected\": [1], \"passed\": false}, {\"check\": \"partial top\", \"actual\": [0], \"expected\": [0, 1], \"passed\": false}, {\"check\": \"partial bottom\", \"actual\": [0], \"expected\": [0, 1], \"passed\": false}, {\"check\": \"overscan\", \"actual\": [1, 2], \"expected\": [1, 2, 3], \"passed\": false}, {\"check\": \"outside\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"parameterized measured heights\", \"actual\": [1, 2], \"expected\": [1, 2, 3], \"passed\": false}, {\"check\": \"repeat outside\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.744,"exit_code":1,"observations":[{"actual":[1],"check":"variable","expected":[1],"passed":true},{"actual":[1],"check":"top edge","expected":[1],"passed":true},{"actual":[0,1],"check":"partial top","expected":[0,1],"passed":true},{"actual":[0,1],"check":"partial bottom","expected":[0,1],"passed":true},{"actual":[1,2],"check":"overscan","expected":[1,2,3],"passed":false},{"actual":[],"check":"outside","expected":[],"passed":true},{"actual":[1,2],"check":"parameterized measured heights","expected":[1,2,3],"passed":false},{"actual":[],"check":"repeat outside","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"variable\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"top edge\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"partial top\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}, {\"check\": \"partial bottom\", \"actual\": [0, 1], \"expected\": [0, 1], \"passed\": true}, {\"check\": \"overscan\", \"actual\": [1, 2], \"expected\": [1, 2, 3], \"passed\": false}, {\"check\": \"outside\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"parameterized measured heights\", \"actual\": [1, 2], \"expected\": [1, 2, 3], \"passed\": false}, {\"check\": \"repeat outside\", \"actual\": [], \"expected\": [], \"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."}}