{"abstract":"Row and cell mode have conflicting tab stops produces the wrong hierarchical widget state in a regression fixture.","category":"Tree accessibility","checks":9,"contract":"Row navigation uses one logical active row. Entering cell mode chooses a visible editable cell in the row; unavailable cells are skipped. Escape returns row mode without moving row focus. Column hiding repairs cell identity, and editable descendants never become separate tree rows.","evaluation_group":"s3-tree-treegrid-mode","failed_approach":"The partial repair `rowtab=-1` still violates a boundary or preservation case.","family":"s3-tree_accessibility-treegrid-mode-09","id":"FA-38831","implementations":{"attempt":{"sha256":"b26b269071b8ba2f4c2c73c06c04798e3c5ee8e16b94f4e8243490017509b079","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    cols=[x for x in d['columns'] if x not in d['hidden']]\n    editable=[x for x in cols if x in d['editable']]\n    enter=d['command']=='enter' and bool(editable) and not d['row_disabled']\n    escape=d['command']=='escape'\n    mode='row' if escape else ('cell' if enter else d['mode'])\n    cell=(editable[0] if enter else d['cell']) if mode=='cell' else None\n    cell=cell if cell in cols else (cols[0] if mode=='cell' and cols else None)\n    active=d['row']+':'+cell if mode=='cell' and cell is not None else d['row']\n    rowtab=-1\n    celltabs={x:(0 if mode=='cell' and x==cell else -1) for x in cols}\n    expanded=d['expanded']\n    return [mode,cell,active,rowtab,celltabs,expanded]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('enter', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 2: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 3: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 4: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 5: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])]}\nfor label, data, expected in cases[N]:\n    check(label, solve(data), 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":"1dc251f21d6454a9ac3c8176f78c00857c0237bdf23c7423ad2f2418b13446f7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    cols=[x for x in d['columns'] if x not in d['hidden']]\n    editable=[x for x in cols if x in d['editable']]\n    enter=d['command']=='enter' and bool(editable) and not d['row_disabled']\n    escape=d['command']=='escape'\n    mode='row' if escape else ('cell' if enter else d['mode'])\n    cell=(editable[0] if enter else d['cell']) if mode=='cell' else None\n    cell=cell if cell in cols else (cols[0] if mode=='cell' and cols else None)\n    active=d['row']+':'+cell if mode=='cell' and cell is not None else d['row']\n    rowtab=0\n    celltabs={x:(0 if mode=='cell' and x==cell else -1) for x in cols}\n    expanded=d['expanded']\n    return [mode,cell,active,rowtab,celltabs,expanded]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('enter', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 2: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 3: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 4: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 5: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])]}\nfor label, data, expected in cases[N]:\n    check(label, solve(data), 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"},"fixed":{"sha256":"71fa4723cf8cf41313708a2de7053d1c140d687443713dcfed8f5cc2f73c6bf7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    cols=[x for x in d['columns'] if x not in d['hidden']]\n    editable=[x for x in cols if x in d['editable']]\n    enter=d['command']=='enter' and bool(editable) and not d['row_disabled']\n    escape=d['command']=='escape'\n    mode='row' if escape else ('cell' if enter else d['mode'])\n    cell=(editable[0] if enter else d['cell']) if mode=='cell' else None\n    cell=cell if cell in cols else (cols[0] if mode=='cell' and cols else None)\n    active=d['row']+':'+cell if mode=='cell' and cell is not None else d['row']\n    rowtab=0 if mode=='row' else -1\n    celltabs={x:(0 if mode=='cell' and x==cell else -1) for x in cols}\n    expanded=d['expanded']\n    return [mode,cell,active,rowtab,celltabs,expanded]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('enter', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 2: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 3: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 4: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])], 5: [('enter', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('readonly first', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': [], 'editable': ['x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'name': -1, 'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('escape', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'escape', 'row_disabled': False, 'mode': 'cell', 'cell': 'x', 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('disabled', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': True, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('no editable', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': [], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('hidden active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'name', 'row': 'r', 'expanded': ['r']}, ['cell', 'x', 'r:x', -1, {'x': 0, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('visible active', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'cell', 'cell': 'y', 'row': 'r', 'expanded': ['r']}, ['cell', 'y', 'r:y', -1, {'x': -1, 'y': 0, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('passive row', {'columns': ['name', 'x', 'y', 'v0', 'v1', 'v2', 'v3', 'v4'], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'refresh', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {'x': -1, 'y': -1, 'v0': -1, 'v1': -1, 'v2': -1, 'v3': -1, 'v4': -1}, ['r']]), ('no columns', {'columns': [], 'hidden': ['name'], 'editable': ['name', 'x', 'y'], 'command': 'enter', 'row_disabled': False, 'mode': 'row', 'cell': None, 'row': 'r', 'expanded': ['r']}, ['row', None, 'r', 0, {}, ['r']])]}\nfor label, data, expected in cases[N]:\n    check(label, solve(data), 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":"Synthetic deterministic hierarchical-widget data contract; not an implementation of a browser accessibility tree. 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-tree_accessibility-treegrid-mode-09","generated_at":"2026-09-29T14:43:15.213116+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline executable model of a hierarchical accessibility interaction; inputs are bounded and valid as stipulated. No browser, assistive technology, or normative ARIA conformance is claimed.","repair":"Restore `rowtab=0 if mode=='row' else -1` at this fault site while retaining the other tree state decisions.","root_cause":"The treegrid-mode contract is violated at `rowtab=0 if mode=='row' else -1` by replacing it with `rowtab=0`.","sha256":"65d3c76f91cd54ebc2a40719ff900439e0a10592418f9c418e8dd49036856783","title":"Hierarchical treegrid interaction mode: Row and cell mode have conflicting tab stops · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.122,"exit_code":1,"observations":[{"actual":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"check":"enter","expected":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"passed":true},{"actual":["cell","x","r:x",-1,{"name":-1,"v0":-1,"x":0,"y":-1},["r"]],"check":"readonly first","expected":["cell","x","r:x",-1,{"name":-1,"v0":-1,"x":0,"y":-1},["r"]],"passed":true},{"actual":["row",null,"r",-1,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"escape","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":false},{"actual":["row",null,"r",-1,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"disabled","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":false},{"actual":["row",null,"r",-1,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"no editable","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":false},{"actual":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"check":"hidden active","expected":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"passed":true},{"actual":["cell","y","r:y",-1,{"v0":-1,"x":-1,"y":0},["r"]],"check":"visible active","expected":["cell","y","r:y",-1,{"v0":-1,"x":-1,"y":0},["r"]],"passed":true},{"actual":["row",null,"r",-1,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"passive row","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":false},{"actual":["row",null,"r",-1,{},["r"]],"check":"no columns","expected":["row",null,"r",0,{},["r"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"enter\", \"actual\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"readonly first\", \"actual\": [\"cell\", \"x\", \"r:x\", -1, {\"name\": -1, \"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"name\": -1, \"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"escape\", \"actual\": [\"row\", null, \"r\", -1, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": false}, {\"check\": \"disabled\", \"actual\": [\"row\", null, \"r\", -1, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": false}, {\"check\": \"no editable\", \"actual\": [\"row\", null, \"r\", -1, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": false}, {\"check\": \"hidden active\", \"actual\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"visible active\", \"actual\": [\"cell\", \"y\", \"r:y\", -1, {\"x\": -1, \"y\": 0, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"y\", \"r:y\", -1, {\"x\": -1, \"y\": 0, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"passive row\", \"actual\": [\"row\", null, \"r\", -1, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": false}, {\"check\": \"no columns\", \"actual\": [\"row\", null, \"r\", -1, {}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {}, [\"r\"]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.743,"exit_code":1,"observations":[{"actual":["cell","x","r:x",0,{"v0":-1,"x":0,"y":-1},["r"]],"check":"enter","expected":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"passed":false},{"actual":["cell","x","r:x",0,{"name":-1,"v0":-1,"x":0,"y":-1},["r"]],"check":"readonly first","expected":["cell","x","r:x",-1,{"name":-1,"v0":-1,"x":0,"y":-1},["r"]],"passed":false},{"actual":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"escape","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":true},{"actual":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"disabled","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":true},{"actual":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"no editable","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":true},{"actual":["cell","x","r:x",0,{"v0":-1,"x":0,"y":-1},["r"]],"check":"hidden active","expected":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"passed":false},{"actual":["cell","y","r:y",0,{"v0":-1,"x":-1,"y":0},["r"]],"check":"visible active","expected":["cell","y","r:y",-1,{"v0":-1,"x":-1,"y":0},["r"]],"passed":false},{"actual":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"passive row","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":true},{"actual":["row",null,"r",0,{},["r"]],"check":"no columns","expected":["row",null,"r",0,{},["r"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"enter\", \"actual\": [\"cell\", \"x\", \"r:x\", 0, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": false}, {\"check\": \"readonly first\", \"actual\": [\"cell\", \"x\", \"r:x\", 0, {\"name\": -1, \"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"name\": -1, \"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": false}, {\"check\": \"escape\", \"actual\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"disabled\", \"actual\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"no editable\", \"actual\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"hidden active\", \"actual\": [\"cell\", \"x\", \"r:x\", 0, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": false}, {\"check\": \"visible active\", \"actual\": [\"cell\", \"y\", \"r:y\", 0, {\"x\": -1, \"y\": 0, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"y\", \"r:y\", -1, {\"x\": -1, \"y\": 0, \"v0\": -1}, [\"r\"]], \"passed\": false}, {\"check\": \"passive row\", \"actual\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"no columns\", \"actual\": [\"row\", null, \"r\", 0, {}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {}, [\"r\"]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.28,"exit_code":0,"observations":[{"actual":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"check":"enter","expected":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"passed":true},{"actual":["cell","x","r:x",-1,{"name":-1,"v0":-1,"x":0,"y":-1},["r"]],"check":"readonly first","expected":["cell","x","r:x",-1,{"name":-1,"v0":-1,"x":0,"y":-1},["r"]],"passed":true},{"actual":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"escape","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":true},{"actual":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"disabled","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":true},{"actual":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"no editable","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":true},{"actual":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"check":"hidden active","expected":["cell","x","r:x",-1,{"v0":-1,"x":0,"y":-1},["r"]],"passed":true},{"actual":["cell","y","r:y",-1,{"v0":-1,"x":-1,"y":0},["r"]],"check":"visible active","expected":["cell","y","r:y",-1,{"v0":-1,"x":-1,"y":0},["r"]],"passed":true},{"actual":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"check":"passive row","expected":["row",null,"r",0,{"v0":-1,"x":-1,"y":-1},["r"]],"passed":true},{"actual":["row",null,"r",0,{},["r"]],"check":"no columns","expected":["row",null,"r",0,{},["r"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"enter\", \"actual\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"readonly first\", \"actual\": [\"cell\", \"x\", \"r:x\", -1, {\"name\": -1, \"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"name\": -1, \"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"escape\", \"actual\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"disabled\", \"actual\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"no editable\", \"actual\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"hidden active\", \"actual\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"x\", \"r:x\", -1, {\"x\": 0, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"visible active\", \"actual\": [\"cell\", \"y\", \"r:y\", -1, {\"x\": -1, \"y\": 0, \"v0\": -1}, [\"r\"]], \"expected\": [\"cell\", \"y\", \"r:y\", -1, {\"x\": -1, \"y\": 0, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"passive row\", \"actual\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {\"x\": -1, \"y\": -1, \"v0\": -1}, [\"r\"]], \"passed\": true}, {\"check\": \"no columns\", \"actual\": [\"row\", null, \"r\", 0, {}, [\"r\"]], \"expected\": [\"row\", null, \"r\", 0, {}, [\"r\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}