{"abstract":"Repeated property requests lose their positional results.","category":"Accessibility interaction semantics","checks":7,"contract":"Input [objects,queries,revision,expected_revision]. objects map IDs to [alive,properties]; queries [id,property]. Allowed props name,value,description,role; a missing property is unsupported while an existing None is successful null. Results retain query order and duplicates, each [status,value]; status stale for every query when revisions differ, gone for missing/defunct object, unsupported for unknown/absent property, ok otherwise. Empty queries produce empty output. Return [revision,results], actual revision always. Values are returned as JSON-compatible content; object aliasing is outside this query-only model.","evaluation_group":"s3-accessibility-property-query-batch","failed_approach":"The local repair substitutes for ident,prop in sorted({tuple(q) for q in queries}): but still mishandles the regression fixtures.","family":"s3-accessibility-property-query-batch-duplicate-query","id":"FA-54651","implementations":{"attempt":{"sha256":"739020a20047e4e1acb4ea0a0d65970868832d9ffca177ec8a906e9a2745c706","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    objects,queries,revision,expected = data\n    results = []\n    for ident,prop in sorted({tuple(q) for q in queries}):\n        if expected != revision: results.append(['stale',None]); continue\n        record = objects.get(ident)\n        if record is None or not record[0]: results.append(['gone',None]); continue\n        values = record[1]\n        if prop not in {'name','value','description','role'} or prop not in values:\n            results.append(['unsupported',None]); continue\n        results.append(['ok',values.get(prop)])\n    return [revision,results]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve([{'a':[True,{'name':'A'+str(N),'value':None,'description':'','role':'image'}]},[['a','name'],['a','value'],['a','description'],['a','name']],N,N],), [N,[['ok','A'+str(N)],['ok',None],['ok',''],['ok','A'+str(N)]]])\ncheck('contract fixture 2', solve([{'a':[True,{'secret':'s','name':'A'}]},[['a','secret'],['a','role']],N,N],), [N,[['unsupported',None],['unsupported',None]]])\ncheck('contract fixture 3', solve([{'dead':[False,{'name':'secret'}]},[['missing','name'],['dead','name']],N,N],), [N,[['gone',None],['gone',None]]])\ncheck('contract fixture 4', solve([{'a':[True,{'name':'A'}]},[['a','name'],['missing','role']],N,N-1],), [N,[['stale',None],['stale',None]]])\ncheck('contract fixture 5', solve([{'a':[True,{'name':'A'}]},[['a','name']],N,N+1],), [N,[['stale',None]]])\ncheck('contract fixture 6', solve([{},[],N,N],), [N,[]])\ncheck('contract fixture 7', solve([{'z':[True,{'name':'Z'}],'a':[True,{'name':'A'}]},[['z','name'],['a','name']],N,N],), [N,[['ok','Z'],['ok','A']]])\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":"006f42de5b0e266f0dcad1070e76edff30b8a1b9fb3ae28a728e2aedfa2befee","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    objects,queries,revision,expected = data\n    results = []\n    for ident,prop in dict.fromkeys(tuple(q) for q in queries):\n        if expected != revision: results.append(['stale',None]); continue\n        record = objects.get(ident)\n        if record is None or not record[0]: results.append(['gone',None]); continue\n        values = record[1]\n        if prop not in {'name','value','description','role'} or prop not in values:\n            results.append(['unsupported',None]); continue\n        results.append(['ok',values.get(prop)])\n    return [revision,results]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve([{'a':[True,{'name':'A'+str(N),'value':None,'description':'','role':'image'}]},[['a','name'],['a','value'],['a','description'],['a','name']],N,N],), [N,[['ok','A'+str(N)],['ok',None],['ok',''],['ok','A'+str(N)]]])\ncheck('contract fixture 2', solve([{'a':[True,{'secret':'s','name':'A'}]},[['a','secret'],['a','role']],N,N],), [N,[['unsupported',None],['unsupported',None]]])\ncheck('contract fixture 3', solve([{'dead':[False,{'name':'secret'}]},[['missing','name'],['dead','name']],N,N],), [N,[['gone',None],['gone',None]]])\ncheck('contract fixture 4', solve([{'a':[True,{'name':'A'}]},[['a','name'],['missing','role']],N,N-1],), [N,[['stale',None],['stale',None]]])\ncheck('contract fixture 5', solve([{'a':[True,{'name':'A'}]},[['a','name']],N,N+1],), [N,[['stale',None]]])\ncheck('contract fixture 6', solve([{},[],N,N],), [N,[]])\ncheck('contract fixture 7', solve([{'z':[True,{'name':'Z'}],'a':[True,{'name':'A'}]},[['z','name'],['a','name']],N,N],), [N,[['ok','Z'],['ok','A']]])\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":"648cdba9b1de295fe6afb170cb655067067abfa9d9367d15fa7efa9450647d53","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    objects,queries,revision,expected = data\n    results = []\n    for ident,prop in queries:\n        if expected != revision: results.append(['stale',None]); continue\n        record = objects.get(ident)\n        if record is None or not record[0]: results.append(['gone',None]); continue\n        values = record[1]\n        if prop not in {'name','value','description','role'} or prop not in values:\n            results.append(['unsupported',None]); continue\n        results.append(['ok',values.get(prop)])\n    return [revision,results]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve([{'a':[True,{'name':'A'+str(N),'value':None,'description':'','role':'image'}]},[['a','name'],['a','value'],['a','description'],['a','name']],N,N],), [N,[['ok','A'+str(N)],['ok',None],['ok',''],['ok','A'+str(N)]]])\ncheck('contract fixture 2', solve([{'a':[True,{'secret':'s','name':'A'}]},[['a','secret'],['a','role']],N,N],), [N,[['unsupported',None],['unsupported',None]]])\ncheck('contract fixture 3', solve([{'dead':[False,{'name':'secret'}]},[['missing','name'],['dead','name']],N,N],), [N,[['gone',None],['gone',None]]])\ncheck('contract fixture 4', solve([{'a':[True,{'name':'A'}]},[['a','name'],['missing','role']],N,N-1],), [N,[['stale',None],['stale',None]]])\ncheck('contract fixture 5', solve([{'a':[True,{'name':'A'}]},[['a','name']],N,N+1],), [N,[['stale',None]]])\ncheck('contract fixture 6', solve([{},[],N,N],), [N,[]])\ncheck('contract fixture 7', solve([{'z':[True,{'name':'Z'}],'a':[True,{'name':'A'}]},[['z','name'],['a','name']],N,N],), [N,[['ok','Z'],['ok','A']]])\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 finite adapter contract, not a claim of platform accessibility or ARIA conformance. 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-accessibility-property-query-batch-duplicate-query","generated_at":"2026-09-29T14:45:50.378076+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline accessibility bridge model with explicit policy; useful for testing semantic API adapters independently of browser implementations.","repair":"Apply the exact contract at the duplicate query decision: for ident,prop in queries:","root_cause":"The duplicate query decision in the property query batch adapter violates its declared contract.","sha256":"f8a663509ddc68ea48c04b7e0681ef719eae3ca105bfd6becae0c5fee1cbeff3","title":"Repeated property requests lose their positional results · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.027,"exit_code":1,"observations":[{"actual":[1,[["ok",""],["ok","A1"],["ok",null]]],"check":"contract fixture 1","expected":[1,[["ok","A1"],["ok",null],["ok",""],["ok","A1"]]],"passed":false},{"actual":[1,[["unsupported",null],["unsupported",null]]],"check":"contract fixture 2","expected":[1,[["unsupported",null],["unsupported",null]]],"passed":true},{"actual":[1,[["gone",null],["gone",null]]],"check":"contract fixture 3","expected":[1,[["gone",null],["gone",null]]],"passed":true},{"actual":[1,[["stale",null],["stale",null]]],"check":"contract fixture 4","expected":[1,[["stale",null],["stale",null]]],"passed":true},{"actual":[1,[["stale",null]]],"check":"contract fixture 5","expected":[1,[["stale",null]]],"passed":true},{"actual":[1,[]],"check":"contract fixture 6","expected":[1,[]],"passed":true},{"actual":[1,[["ok","A"],["ok","Z"]]],"check":"contract fixture 7","expected":[1,[["ok","Z"],["ok","A"]]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": [1, [[\"ok\", \"\"], [\"ok\", \"A1\"], [\"ok\", null]]], \"expected\": [1, [[\"ok\", \"A1\"], [\"ok\", null], [\"ok\", \"\"], [\"ok\", \"A1\"]]], \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": [1, [[\"unsupported\", null], [\"unsupported\", null]]], \"expected\": [1, [[\"unsupported\", null], [\"unsupported\", null]]], \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": [1, [[\"gone\", null], [\"gone\", null]]], \"expected\": [1, [[\"gone\", null], [\"gone\", null]]], \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": [1, [[\"stale\", null], [\"stale\", null]]], \"expected\": [1, [[\"stale\", null], [\"stale\", null]]], \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": [1, [[\"stale\", null]]], \"expected\": [1, [[\"stale\", null]]], \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": [1, []], \"expected\": [1, []], \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": [1, [[\"ok\", \"A\"], [\"ok\", \"Z\"]]], \"expected\": [1, [[\"ok\", \"Z\"], [\"ok\", \"A\"]]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.873,"exit_code":1,"observations":[{"actual":[1,[["ok","A1"],["ok",null],["ok",""]]],"check":"contract fixture 1","expected":[1,[["ok","A1"],["ok",null],["ok",""],["ok","A1"]]],"passed":false},{"actual":[1,[["unsupported",null],["unsupported",null]]],"check":"contract fixture 2","expected":[1,[["unsupported",null],["unsupported",null]]],"passed":true},{"actual":[1,[["gone",null],["gone",null]]],"check":"contract fixture 3","expected":[1,[["gone",null],["gone",null]]],"passed":true},{"actual":[1,[["stale",null],["stale",null]]],"check":"contract fixture 4","expected":[1,[["stale",null],["stale",null]]],"passed":true},{"actual":[1,[["stale",null]]],"check":"contract fixture 5","expected":[1,[["stale",null]]],"passed":true},{"actual":[1,[]],"check":"contract fixture 6","expected":[1,[]],"passed":true},{"actual":[1,[["ok","Z"],["ok","A"]]],"check":"contract fixture 7","expected":[1,[["ok","Z"],["ok","A"]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": [1, [[\"ok\", \"A1\"], [\"ok\", null], [\"ok\", \"\"]]], \"expected\": [1, [[\"ok\", \"A1\"], [\"ok\", null], [\"ok\", \"\"], [\"ok\", \"A1\"]]], \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": [1, [[\"unsupported\", null], [\"unsupported\", null]]], \"expected\": [1, [[\"unsupported\", null], [\"unsupported\", null]]], \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": [1, [[\"gone\", null], [\"gone\", null]]], \"expected\": [1, [[\"gone\", null], [\"gone\", null]]], \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": [1, [[\"stale\", null], [\"stale\", null]]], \"expected\": [1, [[\"stale\", null], [\"stale\", null]]], \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": [1, [[\"stale\", null]]], \"expected\": [1, [[\"stale\", null]]], \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": [1, []], \"expected\": [1, []], \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": [1, [[\"ok\", \"Z\"], [\"ok\", \"A\"]]], \"expected\": [1, [[\"ok\", \"Z\"], [\"ok\", \"A\"]]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":37.814,"exit_code":0,"observations":[{"actual":[1,[["ok","A1"],["ok",null],["ok",""],["ok","A1"]]],"check":"contract fixture 1","expected":[1,[["ok","A1"],["ok",null],["ok",""],["ok","A1"]]],"passed":true},{"actual":[1,[["unsupported",null],["unsupported",null]]],"check":"contract fixture 2","expected":[1,[["unsupported",null],["unsupported",null]]],"passed":true},{"actual":[1,[["gone",null],["gone",null]]],"check":"contract fixture 3","expected":[1,[["gone",null],["gone",null]]],"passed":true},{"actual":[1,[["stale",null],["stale",null]]],"check":"contract fixture 4","expected":[1,[["stale",null],["stale",null]]],"passed":true},{"actual":[1,[["stale",null]]],"check":"contract fixture 5","expected":[1,[["stale",null]]],"passed":true},{"actual":[1,[]],"check":"contract fixture 6","expected":[1,[]],"passed":true},{"actual":[1,[["ok","Z"],["ok","A"]]],"check":"contract fixture 7","expected":[1,[["ok","Z"],["ok","A"]]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": [1, [[\"ok\", \"A1\"], [\"ok\", null], [\"ok\", \"\"], [\"ok\", \"A1\"]]], \"expected\": [1, [[\"ok\", \"A1\"], [\"ok\", null], [\"ok\", \"\"], [\"ok\", \"A1\"]]], \"passed\": true}, {\"check\": \"contract fixture 2\", \"actual\": [1, [[\"unsupported\", null], [\"unsupported\", null]]], \"expected\": [1, [[\"unsupported\", null], [\"unsupported\", null]]], \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": [1, [[\"gone\", null], [\"gone\", null]]], \"expected\": [1, [[\"gone\", null], [\"gone\", null]]], \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": [1, [[\"stale\", null], [\"stale\", null]]], \"expected\": [1, [[\"stale\", null], [\"stale\", null]]], \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": [1, [[\"stale\", null]]], \"expected\": [1, [[\"stale\", null]]], \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": [1, []], \"expected\": [1, []], \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": [1, [[\"ok\", \"Z\"], [\"ok\", \"A\"]]], \"expected\": [1, [[\"ok\", \"Z\"], [\"ok\", \"A\"]]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}