{"abstract":"Priority values are sorted in the opposite direction.","category":"Accessibility interaction semantics","checks":7,"contract":"Input actions [id,label,enabled,exposed,requires_confirmation,kind,priority], plus permission and locale label overrides. Omit unknown kinds (only invoke, expand, collapse, increment, decrement), disabled or unexposed entries. Destructive confirmation-requiring actions need permission. First eligible occurrence of an ID wins; sort by ascending priority preserving ties. Label is override if key exists (including empty), else authored label, else kind. Return [id,label,kind,requires_confirmation]. This only describes platform actions and never activates them.","evaluation_group":"s3-accessibility-action-descriptors","failed_approach":"The local repair substitutes sorted(rows,key=lambda item:item[1][0]) but still mishandles the regression fixtures.","family":"s3-accessibility-action-descriptors-action-order","id":"FA-53746","implementations":{"attempt":{"sha256":"f65e6147b7ca684575eba9bf2d6b9e7a77331eae521f6c7c1fe3ebf3faff1a78","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    actions,permission,overrides = data\n    seen = set()\n    rows = []\n    for ident,label,enabled,exposed,confirm,kind,priority in actions:\n        if kind not in {'invoke','expand','collapse','increment','decrement'}: continue\n        if not enabled: continue\n        if not exposed: continue\n        if confirm and not permission: continue\n        if ident in seen: continue\n        seen.add(ident)\n        name = overrides[ident] if ident in overrides else (label if label else kind)\n        rows.append((priority,[ident,name,kind,confirm]))\n    return [row for priority,row in sorted(rows,key=lambda item:item[1][0])]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('ordered descriptor set', solve([[['x','Open',True,True,False,'invoke',N+2],['y','',True,True,False,'expand',N],['z','Close',True,True,True,'collapse',N+1]],True,{'x':'Localized'+str(N)}],), [['y','expand','expand',False],['z','Close','collapse',True],['x','Localized'+str(N),'invoke',False]])\ncheck('disabled entry does not reserve ID', solve([[['x','Bad',False,True,False,'invoke',0],['x','Good',True,True,False,'invoke',1]],False,{}],), [['x','Good','invoke',False]])\ncheck('hidden and unknown', solve([[['x','X',True,False,False,'invoke',0],['y','Y',True,True,False,'erase',1]],True,{}],), [])\ncheck('confirmation unavailable', solve([[['x','Delete',True,True,True,'invoke',0]],False,{}],), [])\ncheck('empty override intentional', solve([[['x','Original',True,True,False,'invoke',0]],False,{'x':''}],), [['x','','invoke',False]])\ncheck('dedupe first and stable ties', solve([[['x','First',True,True,False,'invoke',N],['y','Second',True,True,False,'expand',N],['x','Third',True,True,False,'collapse',0]],False,{}],), [['x','First','invoke',False],['y','Second','expand',False]])\ncheck('empty', solve([[],False,{}],), [])\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":"4452c24fd05c92a2554e17034a0a5594eefbc6e2c4cfc1d0777668bbd76db104","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    actions,permission,overrides = data\n    seen = set()\n    rows = []\n    for ident,label,enabled,exposed,confirm,kind,priority in actions:\n        if kind not in {'invoke','expand','collapse','increment','decrement'}: continue\n        if not enabled: continue\n        if not exposed: continue\n        if confirm and not permission: continue\n        if ident in seen: continue\n        seen.add(ident)\n        name = overrides[ident] if ident in overrides else (label if label else kind)\n        rows.append((priority,[ident,name,kind,confirm]))\n    return [row for priority,row in sorted(rows,key=lambda item:item[0],reverse=True)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('ordered descriptor set', solve([[['x','Open',True,True,False,'invoke',N+2],['y','',True,True,False,'expand',N],['z','Close',True,True,True,'collapse',N+1]],True,{'x':'Localized'+str(N)}],), [['y','expand','expand',False],['z','Close','collapse',True],['x','Localized'+str(N),'invoke',False]])\ncheck('disabled entry does not reserve ID', solve([[['x','Bad',False,True,False,'invoke',0],['x','Good',True,True,False,'invoke',1]],False,{}],), [['x','Good','invoke',False]])\ncheck('hidden and unknown', solve([[['x','X',True,False,False,'invoke',0],['y','Y',True,True,False,'erase',1]],True,{}],), [])\ncheck('confirmation unavailable', solve([[['x','Delete',True,True,True,'invoke',0]],False,{}],), [])\ncheck('empty override intentional', solve([[['x','Original',True,True,False,'invoke',0]],False,{'x':''}],), [['x','','invoke',False]])\ncheck('dedupe first and stable ties', solve([[['x','First',True,True,False,'invoke',N],['y','Second',True,True,False,'expand',N],['x','Third',True,True,False,'collapse',0]],False,{}],), [['x','First','invoke',False],['y','Second','expand',False]])\ncheck('empty', solve([[],False,{}],), [])\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":"1b66e4e52237053feddeb5ca1f8a1d08cee4c1a84c98f140cc67b2ff2c073047","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    actions,permission,overrides = data\n    seen = set()\n    rows = []\n    for ident,label,enabled,exposed,confirm,kind,priority in actions:\n        if kind not in {'invoke','expand','collapse','increment','decrement'}: continue\n        if not enabled: continue\n        if not exposed: continue\n        if confirm and not permission: continue\n        if ident in seen: continue\n        seen.add(ident)\n        name = overrides[ident] if ident in overrides else (label if label else kind)\n        rows.append((priority,[ident,name,kind,confirm]))\n    return [row for priority,row in sorted(rows,key=lambda item:item[0])]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('ordered descriptor set', solve([[['x','Open',True,True,False,'invoke',N+2],['y','',True,True,False,'expand',N],['z','Close',True,True,True,'collapse',N+1]],True,{'x':'Localized'+str(N)}],), [['y','expand','expand',False],['z','Close','collapse',True],['x','Localized'+str(N),'invoke',False]])\ncheck('disabled entry does not reserve ID', solve([[['x','Bad',False,True,False,'invoke',0],['x','Good',True,True,False,'invoke',1]],False,{}],), [['x','Good','invoke',False]])\ncheck('hidden and unknown', solve([[['x','X',True,False,False,'invoke',0],['y','Y',True,True,False,'erase',1]],True,{}],), [])\ncheck('confirmation unavailable', solve([[['x','Delete',True,True,True,'invoke',0]],False,{}],), [])\ncheck('empty override intentional', solve([[['x','Original',True,True,False,'invoke',0]],False,{'x':''}],), [['x','','invoke',False]])\ncheck('dedupe first and stable ties', solve([[['x','First',True,True,False,'invoke',N],['y','Second',True,True,False,'expand',N],['x','Third',True,True,False,'collapse',0]],False,{}],), [['x','First','invoke',False],['y','Second','expand',False]])\ncheck('empty', solve([[],False,{}],), [])\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-action-descriptors-action-order","generated_at":"2026-09-29T14:45:41.925590+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 action order decision: sorted(rows,key=lambda item:item[0])","root_cause":"The action order decision in the action descriptors adapter violates its declared contract.","sha256":"d3a4f04b68252f072b085e74e061b3312db91651bd1ad5ca892082c6ccd69287","title":"Priority values are sorted in the opposite direction · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.568,"exit_code":1,"observations":[{"actual":[["x","Localized1","invoke",false],["y","expand","expand",false],["z","Close","collapse",true]],"check":"ordered descriptor set","expected":[["y","expand","expand",false],["z","Close","collapse",true],["x","Localized1","invoke",false]],"passed":false},{"actual":[["x","Good","invoke",false]],"check":"disabled entry does not reserve ID","expected":[["x","Good","invoke",false]],"passed":true},{"actual":[],"check":"hidden and unknown","expected":[],"passed":true},{"actual":[],"check":"confirmation unavailable","expected":[],"passed":true},{"actual":[["x","","invoke",false]],"check":"empty override intentional","expected":[["x","","invoke",false]],"passed":true},{"actual":[["x","First","invoke",false],["y","Second","expand",false]],"check":"dedupe first and stable ties","expected":[["x","First","invoke",false],["y","Second","expand",false]],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"ordered descriptor set\", \"actual\": [[\"x\", \"Localized1\", \"invoke\", false], [\"y\", \"expand\", \"expand\", false], [\"z\", \"Close\", \"collapse\", true]], \"expected\": [[\"y\", \"expand\", \"expand\", false], [\"z\", \"Close\", \"collapse\", true], [\"x\", \"Localized1\", \"invoke\", false]], \"passed\": false}, {\"check\": \"disabled entry does not reserve ID\", \"actual\": [[\"x\", \"Good\", \"invoke\", false]], \"expected\": [[\"x\", \"Good\", \"invoke\", false]], \"passed\": true}, {\"check\": \"hidden and unknown\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"confirmation unavailable\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty override intentional\", \"actual\": [[\"x\", \"\", \"invoke\", false]], \"expected\": [[\"x\", \"\", \"invoke\", false]], \"passed\": true}, {\"check\": \"dedupe first and stable ties\", \"actual\": [[\"x\", \"First\", \"invoke\", false], [\"y\", \"Second\", \"expand\", false]], \"expected\": [[\"x\", \"First\", \"invoke\", false], [\"y\", \"Second\", \"expand\", false]], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.891,"exit_code":1,"observations":[{"actual":[["x","Localized1","invoke",false],["z","Close","collapse",true],["y","expand","expand",false]],"check":"ordered descriptor set","expected":[["y","expand","expand",false],["z","Close","collapse",true],["x","Localized1","invoke",false]],"passed":false},{"actual":[["x","Good","invoke",false]],"check":"disabled entry does not reserve ID","expected":[["x","Good","invoke",false]],"passed":true},{"actual":[],"check":"hidden and unknown","expected":[],"passed":true},{"actual":[],"check":"confirmation unavailable","expected":[],"passed":true},{"actual":[["x","","invoke",false]],"check":"empty override intentional","expected":[["x","","invoke",false]],"passed":true},{"actual":[["x","First","invoke",false],["y","Second","expand",false]],"check":"dedupe first and stable ties","expected":[["x","First","invoke",false],["y","Second","expand",false]],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"ordered descriptor set\", \"actual\": [[\"x\", \"Localized1\", \"invoke\", false], [\"z\", \"Close\", \"collapse\", true], [\"y\", \"expand\", \"expand\", false]], \"expected\": [[\"y\", \"expand\", \"expand\", false], [\"z\", \"Close\", \"collapse\", true], [\"x\", \"Localized1\", \"invoke\", false]], \"passed\": false}, {\"check\": \"disabled entry does not reserve ID\", \"actual\": [[\"x\", \"Good\", \"invoke\", false]], \"expected\": [[\"x\", \"Good\", \"invoke\", false]], \"passed\": true}, {\"check\": \"hidden and unknown\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"confirmation unavailable\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty override intentional\", \"actual\": [[\"x\", \"\", \"invoke\", false]], \"expected\": [[\"x\", \"\", \"invoke\", false]], \"passed\": true}, {\"check\": \"dedupe first and stable ties\", \"actual\": [[\"x\", \"First\", \"invoke\", false], [\"y\", \"Second\", \"expand\", false]], \"expected\": [[\"x\", \"First\", \"invoke\", false], [\"y\", \"Second\", \"expand\", false]], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.413,"exit_code":0,"observations":[{"actual":[["y","expand","expand",false],["z","Close","collapse",true],["x","Localized1","invoke",false]],"check":"ordered descriptor set","expected":[["y","expand","expand",false],["z","Close","collapse",true],["x","Localized1","invoke",false]],"passed":true},{"actual":[["x","Good","invoke",false]],"check":"disabled entry does not reserve ID","expected":[["x","Good","invoke",false]],"passed":true},{"actual":[],"check":"hidden and unknown","expected":[],"passed":true},{"actual":[],"check":"confirmation unavailable","expected":[],"passed":true},{"actual":[["x","","invoke",false]],"check":"empty override intentional","expected":[["x","","invoke",false]],"passed":true},{"actual":[["x","First","invoke",false],["y","Second","expand",false]],"check":"dedupe first and stable ties","expected":[["x","First","invoke",false],["y","Second","expand",false]],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"ordered descriptor set\", \"actual\": [[\"y\", \"expand\", \"expand\", false], [\"z\", \"Close\", \"collapse\", true], [\"x\", \"Localized1\", \"invoke\", false]], \"expected\": [[\"y\", \"expand\", \"expand\", false], [\"z\", \"Close\", \"collapse\", true], [\"x\", \"Localized1\", \"invoke\", false]], \"passed\": true}, {\"check\": \"disabled entry does not reserve ID\", \"actual\": [[\"x\", \"Good\", \"invoke\", false]], \"expected\": [[\"x\", \"Good\", \"invoke\", false]], \"passed\": true}, {\"check\": \"hidden and unknown\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"confirmation unavailable\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty override intentional\", \"actual\": [[\"x\", \"\", \"invoke\", false]], \"expected\": [[\"x\", \"\", \"invoke\", false]], \"passed\": true}, {\"check\": \"dedupe first and stable ties\", \"actual\": [[\"x\", \"First\", \"invoke\", false], [\"y\", \"Second\", \"expand\", false]], \"expected\": [[\"x\", \"First\", \"invoke\", false], [\"y\", \"Second\", \"expand\", false]], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}