{"abstract":"The tab workspace reports an incorrect peer end clamp.","category":"Tab interfaces","checks":6,"contract":"Linked views of one document synchronize only scroll events from the elected source; map proportional content positions into the peer range and suppress echoed tokens.","contract_signature":"x","evaluation_group":"s3-tabs-linked-pane-scroll","failed_approach":"The partial repair max(0,x['scroll']) still violates a workspace boundary or normal case.","family":"s3-tab-interfaces-linked-pane-scroll-peer-end-clamp","id":"FA-35871","implementations":{"attempt":{"sha256":"0e2f91f918ed5dfeea90ddbe5c952a59230b1e63065fc511e9ff20fbc1cac547","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = x['event_view']==x['source']\n    r1 = x['doc']==x['peer_doc']\n    r2 = x['token']!=x['last']\n    r3 = x['scroll']*x['peer_range']//x['source_range']\n    r4 = max(0,x['scroll'])\n    r5 = x['token']\n    return [r0,r1,r2,r3,r4,r5]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 4, 'last': 3, 'scroll': 40, 'source_range': 100, 'peer_range': 250}, [True, True, True, 100, 100, 4]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 4, 'last': 3, 'scroll': 40, 'source_range': 100, 'peer_range': 250}, [False, True, True, 100, 100, 4]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 4, 'last': 3, 'scroll': 40, 'source_range': 100, 'peer_range': 250}, [True, False, True, 100, 100, 4]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 3, 'last': 3, 'scroll': 40, 'source_range': 100, 'peer_range': 250}, [True, True, False, 100, 100, 3]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 4, 'last': 3, 'scroll': 0, 'source_range': 100, 'peer_range': 250}, [True, True, True, 0, 0, 4]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 4, 'last': 3, 'scroll': 100, 'source_range': 100, 'peer_range': 250}, [True, True, True, 250, 250, 4])], 2: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 8, 'last': 6, 'scroll': 80, 'source_range': 200, 'peer_range': 500}, [True, True, True, 200, 200, 8]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 8, 'last': 6, 'scroll': 80, 'source_range': 200, 'peer_range': 500}, [False, True, True, 200, 200, 8]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 8, 'last': 6, 'scroll': 80, 'source_range': 200, 'peer_range': 500}, [True, False, True, 200, 200, 8]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 6, 'last': 6, 'scroll': 80, 'source_range': 200, 'peer_range': 500}, [True, True, False, 200, 200, 6]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 8, 'last': 6, 'scroll': 0, 'source_range': 200, 'peer_range': 500}, [True, True, True, 0, 0, 8]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 8, 'last': 6, 'scroll': 200, 'source_range': 200, 'peer_range': 500}, [True, True, True, 500, 500, 8])], 3: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 9, 'scroll': 120, 'source_range': 300, 'peer_range': 750}, [True, True, True, 300, 300, 12]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 9, 'scroll': 120, 'source_range': 300, 'peer_range': 750}, [False, True, True, 300, 300, 12]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 12, 'last': 9, 'scroll': 120, 'source_range': 300, 'peer_range': 750}, [True, False, True, 300, 300, 12]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 9, 'last': 9, 'scroll': 120, 'source_range': 300, 'peer_range': 750}, [True, True, False, 300, 300, 9]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 9, 'scroll': 0, 'source_range': 300, 'peer_range': 750}, [True, True, True, 0, 0, 12]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 9, 'scroll': 300, 'source_range': 300, 'peer_range': 750}, [True, True, True, 750, 750, 12])], 4: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 16, 'last': 12, 'scroll': 160, 'source_range': 400, 'peer_range': 1000}, [True, True, True, 400, 400, 16]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 16, 'last': 12, 'scroll': 160, 'source_range': 400, 'peer_range': 1000}, [False, True, True, 400, 400, 16]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 16, 'last': 12, 'scroll': 160, 'source_range': 400, 'peer_range': 1000}, [True, False, True, 400, 400, 16]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 12, 'scroll': 160, 'source_range': 400, 'peer_range': 1000}, [True, True, False, 400, 400, 12]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 16, 'last': 12, 'scroll': 0, 'source_range': 400, 'peer_range': 1000}, [True, True, True, 0, 0, 16]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 16, 'last': 12, 'scroll': 400, 'source_range': 400, 'peer_range': 1000}, [True, True, True, 1000, 1000, 16])], 5: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 20, 'last': 15, 'scroll': 200, 'source_range': 500, 'peer_range': 1250}, [True, True, True, 500, 500, 20]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 20, 'last': 15, 'scroll': 200, 'source_range': 500, 'peer_range': 1250}, [False, True, True, 500, 500, 20]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 20, 'last': 15, 'scroll': 200, 'source_range': 500, 'peer_range': 1250}, [True, False, True, 500, 500, 20]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 15, 'last': 15, 'scroll': 200, 'source_range': 500, 'peer_range': 1250}, [True, True, False, 500, 500, 15]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 20, 'last': 15, 'scroll': 0, 'source_range': 500, 'peer_range': 1250}, [True, True, True, 0, 0, 20]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 20, 'last': 15, 'scroll': 500, 'source_range': 500, 'peer_range': 1250}, [True, True, True, 1250, 1250, 20])]}\nfor i, (inputs, expected) in enumerate(fixtures[N]):\n    check(\"workspace regression \"+str(i), solve(inputs), 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":"65fd73d78ae1e8e034d05ccf8936f965055ed552415b0d21e367f1df08b37ac7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = x['event_view']==x['source']\n    r1 = x['doc']==x['peer_doc']\n    r2 = x['token']!=x['last']\n    r3 = x['scroll']*x['peer_range']//x['source_range']\n    r4 = min(x['source_range'],x['scroll']*x['peer_range']//x['source_range'])\n    r5 = x['token']\n    return [r0,r1,r2,r3,r4,r5]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 4, 'last': 3, 'scroll': 40, 'source_range': 100, 'peer_range': 250}, [True, True, True, 100, 100, 4]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 4, 'last': 3, 'scroll': 40, 'source_range': 100, 'peer_range': 250}, [False, True, True, 100, 100, 4]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 4, 'last': 3, 'scroll': 40, 'source_range': 100, 'peer_range': 250}, [True, False, True, 100, 100, 4]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 3, 'last': 3, 'scroll': 40, 'source_range': 100, 'peer_range': 250}, [True, True, False, 100, 100, 3]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 4, 'last': 3, 'scroll': 0, 'source_range': 100, 'peer_range': 250}, [True, True, True, 0, 0, 4]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 4, 'last': 3, 'scroll': 100, 'source_range': 100, 'peer_range': 250}, [True, True, True, 250, 250, 4])], 2: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 8, 'last': 6, 'scroll': 80, 'source_range': 200, 'peer_range': 500}, [True, True, True, 200, 200, 8]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 8, 'last': 6, 'scroll': 80, 'source_range': 200, 'peer_range': 500}, [False, True, True, 200, 200, 8]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 8, 'last': 6, 'scroll': 80, 'source_range': 200, 'peer_range': 500}, [True, False, True, 200, 200, 8]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 6, 'last': 6, 'scroll': 80, 'source_range': 200, 'peer_range': 500}, [True, True, False, 200, 200, 6]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 8, 'last': 6, 'scroll': 0, 'source_range': 200, 'peer_range': 500}, [True, True, True, 0, 0, 8]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 8, 'last': 6, 'scroll': 200, 'source_range': 200, 'peer_range': 500}, [True, True, True, 500, 500, 8])], 3: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 9, 'scroll': 120, 'source_range': 300, 'peer_range': 750}, [True, True, True, 300, 300, 12]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 9, 'scroll': 120, 'source_range': 300, 'peer_range': 750}, [False, True, True, 300, 300, 12]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 12, 'last': 9, 'scroll': 120, 'source_range': 300, 'peer_range': 750}, [True, False, True, 300, 300, 12]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 9, 'last': 9, 'scroll': 120, 'source_range': 300, 'peer_range': 750}, [True, True, False, 300, 300, 9]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 9, 'scroll': 0, 'source_range': 300, 'peer_range': 750}, [True, True, True, 0, 0, 12]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 9, 'scroll': 300, 'source_range': 300, 'peer_range': 750}, [True, True, True, 750, 750, 12])], 4: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 16, 'last': 12, 'scroll': 160, 'source_range': 400, 'peer_range': 1000}, [True, True, True, 400, 400, 16]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 16, 'last': 12, 'scroll': 160, 'source_range': 400, 'peer_range': 1000}, [False, True, True, 400, 400, 16]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 16, 'last': 12, 'scroll': 160, 'source_range': 400, 'peer_range': 1000}, [True, False, True, 400, 400, 16]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 12, 'last': 12, 'scroll': 160, 'source_range': 400, 'peer_range': 1000}, [True, True, False, 400, 400, 12]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 16, 'last': 12, 'scroll': 0, 'source_range': 400, 'peer_range': 1000}, [True, True, True, 0, 0, 16]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 16, 'last': 12, 'scroll': 400, 'source_range': 400, 'peer_range': 1000}, [True, True, True, 1000, 1000, 16])], 5: [({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 20, 'last': 15, 'scroll': 200, 'source_range': 500, 'peer_range': 1250}, [True, True, True, 500, 500, 20]), ({'source': 'a', 'event_view': 'b', 'doc': 'd', 'peer_doc': 'd', 'token': 20, 'last': 15, 'scroll': 200, 'source_range': 500, 'peer_range': 1250}, [False, True, True, 500, 500, 20]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'e', 'token': 20, 'last': 15, 'scroll': 200, 'source_range': 500, 'peer_range': 1250}, [True, False, True, 500, 500, 20]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 15, 'last': 15, 'scroll': 200, 'source_range': 500, 'peer_range': 1250}, [True, True, False, 500, 500, 15]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 20, 'last': 15, 'scroll': 0, 'source_range': 500, 'peer_range': 1250}, [True, True, True, 0, 0, 20]), ({'source': 'a', 'event_view': 'a', 'doc': 'd', 'peer_doc': 'd', 'token': 20, 'last': 15, 'scroll': 500, 'source_range': 500, 'peer_range': 1250}, [True, True, True, 1250, 1250, 20])]}\nfor i, (inputs, expected) in enumerate(fixtures[N]):\n    check(\"workspace regression \"+str(i), solve(inputs), 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":"Finite stipulated workspace snapshots only. Independent result fields describe observable obligations, not a full UI runtime. 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-tab-interfaces-linked-pane-scroll-peer-end-clamp","generated_at":"2026-09-29T14:42:45.767476+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline tab/panel workspace behavior; no browser or desktop framework is emulated.","root_cause":"The peer end clamp decision uses min(x['source_range'],x['scroll']*x['peer_range']//x['source_range']) instead of min(x['peer_range'],max(0,x['scroll']*x['peer_range']//x['source_range'])).","sha256":"2b92eb87e23373df9206af4ea4c33e312eeea5f8c5edf3bb4276c8ca21ba4276","title":"Linked pane scroll: peer end clamp · 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":40.767,"exit_code":1,"observations":[{"actual":[true,true,true,100,40,4],"check":"workspace regression 0","expected":[true,true,true,100,100,4],"passed":false},{"actual":[false,true,true,100,40,4],"check":"workspace regression 1","expected":[false,true,true,100,100,4],"passed":false},{"actual":[true,false,true,100,40,4],"check":"workspace regression 2","expected":[true,false,true,100,100,4],"passed":false},{"actual":[true,true,false,100,40,3],"check":"workspace regression 3","expected":[true,true,false,100,100,3],"passed":false},{"actual":[true,true,true,0,0,4],"check":"workspace regression 4","expected":[true,true,true,0,0,4],"passed":true},{"actual":[true,true,true,250,100,4],"check":"workspace regression 5","expected":[true,true,true,250,250,4],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [true, true, true, 100, 40, 4], \"expected\": [true, true, true, 100, 100, 4], \"passed\": false}, {\"check\": \"workspace regression 1\", \"actual\": [false, true, true, 100, 40, 4], \"expected\": [false, true, true, 100, 100, 4], \"passed\": false}, {\"check\": \"workspace regression 2\", \"actual\": [true, false, true, 100, 40, 4], \"expected\": [true, false, true, 100, 100, 4], \"passed\": false}, {\"check\": \"workspace regression 3\", \"actual\": [true, true, false, 100, 40, 3], \"expected\": [true, true, false, 100, 100, 3], \"passed\": false}, {\"check\": \"workspace regression 4\", \"actual\": [true, true, true, 0, 0, 4], \"expected\": [true, true, true, 0, 0, 4], \"passed\": true}, {\"check\": \"workspace regression 5\", \"actual\": [true, true, true, 250, 100, 4], \"expected\": [true, true, true, 250, 250, 4], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.607,"exit_code":1,"observations":[{"actual":[true,true,true,100,100,4],"check":"workspace regression 0","expected":[true,true,true,100,100,4],"passed":true},{"actual":[false,true,true,100,100,4],"check":"workspace regression 1","expected":[false,true,true,100,100,4],"passed":true},{"actual":[true,false,true,100,100,4],"check":"workspace regression 2","expected":[true,false,true,100,100,4],"passed":true},{"actual":[true,true,false,100,100,3],"check":"workspace regression 3","expected":[true,true,false,100,100,3],"passed":true},{"actual":[true,true,true,0,0,4],"check":"workspace regression 4","expected":[true,true,true,0,0,4],"passed":true},{"actual":[true,true,true,250,100,4],"check":"workspace regression 5","expected":[true,true,true,250,250,4],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [true, true, true, 100, 100, 4], \"expected\": [true, true, true, 100, 100, 4], \"passed\": true}, {\"check\": \"workspace regression 1\", \"actual\": [false, true, true, 100, 100, 4], \"expected\": [false, true, true, 100, 100, 4], \"passed\": true}, {\"check\": \"workspace regression 2\", \"actual\": [true, false, true, 100, 100, 4], \"expected\": [true, false, true, 100, 100, 4], \"passed\": true}, {\"check\": \"workspace regression 3\", \"actual\": [true, true, false, 100, 100, 3], \"expected\": [true, true, false, 100, 100, 3], \"passed\": true}, {\"check\": \"workspace regression 4\", \"actual\": [true, true, true, 0, 0, 4], \"expected\": [true, true, true, 0, 0, 4], \"passed\": true}, {\"check\": \"workspace regression 5\", \"actual\": [true, true, true, 250, 100, 4], \"expected\": [true, true, true, 250, 250, 4], \"passed\": false}], \"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."}}