{"abstract":"Math tokens expose their node kind instead of content.","category":"Accessibility interaction semantics","checks":10,"contract":"Input AST limited to token(value), row(children), fraction(two children), power(two children), root(one child), fenced(children), annotation(primary,alternative) encoded dict kind, value, children, alternative. Empty rows expose empty string. Tokens preserve value. Fraction says fraction numerator over denominator end fraction; power says base to power exponent; root says square root child end root; fenced says open contents close. Empty child output omitted between single spaces. Annotation uses a nonempty alternative verbatim, otherwise its sole primary child. Unknown kinds return unsupported; wrong arity returns malformed without traversing children.","evaluation_group":"s3-accessibility-math-semantics","failed_approach":"The local repair substitutes return node.get('value','').upper() but still mishandles the regression fixtures.","family":"s3-accessibility-math-semantics-token-value","id":"FA-54591","implementations":{"attempt":{"sha256":"3b0cf46e450c9cdaa07cbe119ad5c0d3a406b77b874e085a873171db8ba26f0f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    def render(node):\n        kind = node['kind']\n        children = node.get('children',[])\n        if kind == 'token': return node.get('value','').upper()\n        if kind == 'annotation': return node.get('alternative') or (render(children[0]) if len(children)==1 else 'malformed')\n        if kind in ('fraction','power') and len(children)!=2: return 'malformed'\n        if kind == 'root' and len(children)!=1: return 'malformed'\n        if kind not in ('row','fraction','power','root','fenced'): return 'unsupported'\n        parts = [render(child) for child in children]\n        if kind == 'row': out = parts\n        elif kind == 'fraction': out = ['fraction',parts[0],'over',parts[1],'end fraction']\n        elif kind == 'power': out = [parts[0],'to power',parts[1]]\n        elif kind == 'root': out = ['square root',parts[0],'end root']\n        else: out = ['open']+parts+['close']\n        return ' '.join(part for part in out if part)\n    return render(data)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve({'kind':'fraction','children':[{'kind':'token','value':str(N)},{'kind':'token','value':'x'}]},), 'fraction '+str(N)+' over x end fraction')\ncheck('contract fixture 2', solve({'kind':'power','children':[{'kind':'token','value':'x'},{'kind':'token','value':str(N)}]},), 'x to power '+str(N))\ncheck('contract fixture 3', solve({'kind':'root','children':[{'kind':'token','value':'x'}]},), 'square root x end root')\ncheck('contract fixture 4', solve({'kind':'fenced','children':[{'kind':'row','children':[{'kind':'token','value':''},{'kind':'token','value':'x'}]}]},), 'open x close')\ncheck('contract fixture 5', solve({'kind':'annotation','alternative':'custom','children':[{'kind':'token','value':'x'}]},), 'custom')\ncheck('contract fixture 6', solve({'kind':'annotation','alternative':'','children':[{'kind':'token','value':'x'}]},), 'x')\ncheck('contract fixture 7', solve({'kind':'fraction','children':[]},), 'malformed')\ncheck('contract fixture 8', solve({'kind':'root','children':[]},), 'malformed')\ncheck('contract fixture 9', solve({'kind':'unknown','children':[]},), 'unsupported')\ncheck('contract fixture 10', solve({'kind':'row','children':[]},), '')\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":"2c1ecbd5f004c770633aabc67bd2a7240af456367729d3d3519ca9f4a5d66c47","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    def render(node):\n        kind = node['kind']\n        children = node.get('children',[])\n        if kind == 'token': return kind\n        if kind == 'annotation': return node.get('alternative') or (render(children[0]) if len(children)==1 else 'malformed')\n        if kind in ('fraction','power') and len(children)!=2: return 'malformed'\n        if kind == 'root' and len(children)!=1: return 'malformed'\n        if kind not in ('row','fraction','power','root','fenced'): return 'unsupported'\n        parts = [render(child) for child in children]\n        if kind == 'row': out = parts\n        elif kind == 'fraction': out = ['fraction',parts[0],'over',parts[1],'end fraction']\n        elif kind == 'power': out = [parts[0],'to power',parts[1]]\n        elif kind == 'root': out = ['square root',parts[0],'end root']\n        else: out = ['open']+parts+['close']\n        return ' '.join(part for part in out if part)\n    return render(data)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve({'kind':'fraction','children':[{'kind':'token','value':str(N)},{'kind':'token','value':'x'}]},), 'fraction '+str(N)+' over x end fraction')\ncheck('contract fixture 2', solve({'kind':'power','children':[{'kind':'token','value':'x'},{'kind':'token','value':str(N)}]},), 'x to power '+str(N))\ncheck('contract fixture 3', solve({'kind':'root','children':[{'kind':'token','value':'x'}]},), 'square root x end root')\ncheck('contract fixture 4', solve({'kind':'fenced','children':[{'kind':'row','children':[{'kind':'token','value':''},{'kind':'token','value':'x'}]}]},), 'open x close')\ncheck('contract fixture 5', solve({'kind':'annotation','alternative':'custom','children':[{'kind':'token','value':'x'}]},), 'custom')\ncheck('contract fixture 6', solve({'kind':'annotation','alternative':'','children':[{'kind':'token','value':'x'}]},), 'x')\ncheck('contract fixture 7', solve({'kind':'fraction','children':[]},), 'malformed')\ncheck('contract fixture 8', solve({'kind':'root','children':[]},), 'malformed')\ncheck('contract fixture 9', solve({'kind':'unknown','children':[]},), 'unsupported')\ncheck('contract fixture 10', solve({'kind':'row','children':[]},), '')\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":"a4b07a10e73a5deba55e681549aec7a18eaf21936256879f212ca33892983e8d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(data):\n    def render(node):\n        kind = node['kind']\n        children = node.get('children',[])\n        if kind == 'token': return node.get('value','')\n        if kind == 'annotation': return node.get('alternative') or (render(children[0]) if len(children)==1 else 'malformed')\n        if kind in ('fraction','power') and len(children)!=2: return 'malformed'\n        if kind == 'root' and len(children)!=1: return 'malformed'\n        if kind not in ('row','fraction','power','root','fenced'): return 'unsupported'\n        parts = [render(child) for child in children]\n        if kind == 'row': out = parts\n        elif kind == 'fraction': out = ['fraction',parts[0],'over',parts[1],'end fraction']\n        elif kind == 'power': out = [parts[0],'to power',parts[1]]\n        elif kind == 'root': out = ['square root',parts[0],'end root']\n        else: out = ['open']+parts+['close']\n        return ' '.join(part for part in out if part)\n    return render(data)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('contract fixture 1', solve({'kind':'fraction','children':[{'kind':'token','value':str(N)},{'kind':'token','value':'x'}]},), 'fraction '+str(N)+' over x end fraction')\ncheck('contract fixture 2', solve({'kind':'power','children':[{'kind':'token','value':'x'},{'kind':'token','value':str(N)}]},), 'x to power '+str(N))\ncheck('contract fixture 3', solve({'kind':'root','children':[{'kind':'token','value':'x'}]},), 'square root x end root')\ncheck('contract fixture 4', solve({'kind':'fenced','children':[{'kind':'row','children':[{'kind':'token','value':''},{'kind':'token','value':'x'}]}]},), 'open x close')\ncheck('contract fixture 5', solve({'kind':'annotation','alternative':'custom','children':[{'kind':'token','value':'x'}]},), 'custom')\ncheck('contract fixture 6', solve({'kind':'annotation','alternative':'','children':[{'kind':'token','value':'x'}]},), 'x')\ncheck('contract fixture 7', solve({'kind':'fraction','children':[]},), 'malformed')\ncheck('contract fixture 8', solve({'kind':'root','children':[]},), 'malformed')\ncheck('contract fixture 9', solve({'kind':'unknown','children':[]},), 'unsupported')\ncheck('contract fixture 10', solve({'kind':'row','children':[]},), '')\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-math-semantics-token-value","generated_at":"2026-09-29T14:45:49.821957+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 token value decision: return node.get('value','')","root_cause":"The token value decision in the math semantics adapter violates its declared contract.","sha256":"8bafaa1fb94c57eac66c382e8fcb79335a6ff3437232d6dbeebd05892ea7219f","title":"Math tokens expose their node kind instead of content · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.816,"exit_code":1,"observations":[{"actual":"fraction 1 over X end fraction","check":"contract fixture 1","expected":"fraction 1 over x end fraction","passed":false},{"actual":"X to power 1","check":"contract fixture 2","expected":"x to power 1","passed":false},{"actual":"square root X end root","check":"contract fixture 3","expected":"square root x end root","passed":false},{"actual":"open X close","check":"contract fixture 4","expected":"open x close","passed":false},{"actual":"custom","check":"contract fixture 5","expected":"custom","passed":true},{"actual":"X","check":"contract fixture 6","expected":"x","passed":false},{"actual":"malformed","check":"contract fixture 7","expected":"malformed","passed":true},{"actual":"malformed","check":"contract fixture 8","expected":"malformed","passed":true},{"actual":"unsupported","check":"contract fixture 9","expected":"unsupported","passed":true},{"actual":"","check":"contract fixture 10","expected":"","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": \"fraction 1 over X end fraction\", \"expected\": \"fraction 1 over x end fraction\", \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": \"X to power 1\", \"expected\": \"x to power 1\", \"passed\": false}, {\"check\": \"contract fixture 3\", \"actual\": \"square root X end root\", \"expected\": \"square root x end root\", \"passed\": false}, {\"check\": \"contract fixture 4\", \"actual\": \"open X close\", \"expected\": \"open x close\", \"passed\": false}, {\"check\": \"contract fixture 5\", \"actual\": \"custom\", \"expected\": \"custom\", \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": \"X\", \"expected\": \"x\", \"passed\": false}, {\"check\": \"contract fixture 7\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": \"unsupported\", \"expected\": \"unsupported\", \"passed\": true}, {\"check\": \"contract fixture 10\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.197,"exit_code":1,"observations":[{"actual":"fraction token over token end fraction","check":"contract fixture 1","expected":"fraction 1 over x end fraction","passed":false},{"actual":"token to power token","check":"contract fixture 2","expected":"x to power 1","passed":false},{"actual":"square root token end root","check":"contract fixture 3","expected":"square root x end root","passed":false},{"actual":"open token token close","check":"contract fixture 4","expected":"open x close","passed":false},{"actual":"custom","check":"contract fixture 5","expected":"custom","passed":true},{"actual":"token","check":"contract fixture 6","expected":"x","passed":false},{"actual":"malformed","check":"contract fixture 7","expected":"malformed","passed":true},{"actual":"malformed","check":"contract fixture 8","expected":"malformed","passed":true},{"actual":"unsupported","check":"contract fixture 9","expected":"unsupported","passed":true},{"actual":"","check":"contract fixture 10","expected":"","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": \"fraction token over token end fraction\", \"expected\": \"fraction 1 over x end fraction\", \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": \"token to power token\", \"expected\": \"x to power 1\", \"passed\": false}, {\"check\": \"contract fixture 3\", \"actual\": \"square root token end root\", \"expected\": \"square root x end root\", \"passed\": false}, {\"check\": \"contract fixture 4\", \"actual\": \"open token token close\", \"expected\": \"open x close\", \"passed\": false}, {\"check\": \"contract fixture 5\", \"actual\": \"custom\", \"expected\": \"custom\", \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": \"token\", \"expected\": \"x\", \"passed\": false}, {\"check\": \"contract fixture 7\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": \"unsupported\", \"expected\": \"unsupported\", \"passed\": true}, {\"check\": \"contract fixture 10\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.33,"exit_code":0,"observations":[{"actual":"fraction 1 over x end fraction","check":"contract fixture 1","expected":"fraction 1 over x end fraction","passed":true},{"actual":"x to power 1","check":"contract fixture 2","expected":"x to power 1","passed":true},{"actual":"square root x end root","check":"contract fixture 3","expected":"square root x end root","passed":true},{"actual":"open x close","check":"contract fixture 4","expected":"open x close","passed":true},{"actual":"custom","check":"contract fixture 5","expected":"custom","passed":true},{"actual":"x","check":"contract fixture 6","expected":"x","passed":true},{"actual":"malformed","check":"contract fixture 7","expected":"malformed","passed":true},{"actual":"malformed","check":"contract fixture 8","expected":"malformed","passed":true},{"actual":"unsupported","check":"contract fixture 9","expected":"unsupported","passed":true},{"actual":"","check":"contract fixture 10","expected":"","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 1\", \"actual\": \"fraction 1 over x end fraction\", \"expected\": \"fraction 1 over x end fraction\", \"passed\": true}, {\"check\": \"contract fixture 2\", \"actual\": \"x to power 1\", \"expected\": \"x to power 1\", \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": \"square root x end root\", \"expected\": \"square root x end root\", \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": \"open x close\", \"expected\": \"open x close\", \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": \"custom\", \"expected\": \"custom\", \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": \"x\", \"expected\": \"x\", \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": \"unsupported\", \"expected\": \"unsupported\", \"passed\": true}, {\"check\": \"contract fixture 10\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}