{"abstract":"The table maximum width result violates the stipulated column track resolution contract.","category":"Table interactions","checks":6,"contract":"Resolve unique schema IDs in saved order then append unlisted visible columns; clamp widths to per-column bounds, keep explicit zero, compute prefix starts, omit a terminal resize handle, and use None for no terminal column.","evaluation_group":"s3-table-interactions-column-track","failed_approach":"The attempted repair 'maximum.get(c, 10000) + 1' still loses a required part of the table contract.","family":"s3-table-interactions-column-track-maximum-width","id":"FA-36861","implementations":{"attempt":{"sha256":"67d61580f553fb730255fad3bd0bd88d03927816910de6a495b6f2129968a95b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cols, order, hidden, widths, minimum, maximum, default):\n    by_id = {c['id']: c for c in cols}\n    ids = [c for c in order if c in by_id and c not in hidden]\n    ids += [c['id'] for c in cols if c['id'] not in order and c['id'] not in hidden]\n    resolved = {c: max(minimum.get(c, 0), min(maximum.get(c, 10000) + 1, widths.get(c, by_id[c].get('width', default)))) for c in ids}\n    starts = {c: sum(resolved[x] for x in ids[:i]) for i,c in enumerate(ids)}\n    return {'ids': ids, 'widths': resolved, 'starts': starts, 'total': sum(resolved.values()), 'resizable': [c for c in ids if by_id[c].get('resize', True)], 'handles': [c for c in ids[:-1] if by_id[c].get('resize', True)], 'last': ids[-1] if ids else None}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*1}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 12, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 12, 'c': 22}, 'total': 42, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 2:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*2}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 24, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 24, 'c': 34}, 'total': 54, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 3:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*3}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 36, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 36, 'c': 46}, 'total': 66, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 4:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*4}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 48, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 48, 'c': 58}, 'total': 78, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 5:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*5}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 60, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 60, 'c': 70}, 'total': 90, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\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":"414e0755d1aede0a8330caa88663d40ad7edb254551589de6f840d16d762c051","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cols, order, hidden, widths, minimum, maximum, default):\n    by_id = {c['id']: c for c in cols}\n    ids = [c for c in order if c in by_id and c not in hidden]\n    ids += [c['id'] for c in cols if c['id'] not in order and c['id'] not in hidden]\n    resolved = {c: max(minimum.get(c, 0), min(10000, widths.get(c, by_id[c].get('width', default)))) for c in ids}\n    starts = {c: sum(resolved[x] for x in ids[:i]) for i,c in enumerate(ids)}\n    return {'ids': ids, 'widths': resolved, 'starts': starts, 'total': sum(resolved.values()), 'resizable': [c for c in ids if by_id[c].get('resize', True)], 'handles': [c for c in ids[:-1] if by_id[c].get('resize', True)], 'last': ids[-1] if ids else None}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*1}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 12, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 12, 'c': 22}, 'total': 42, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 2:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*2}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 24, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 24, 'c': 34}, 'total': 54, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 3:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*3}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 36, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 36, 'c': 46}, 'total': 66, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 4:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*4}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 48, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 48, 'c': 58}, 'total': 78, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 5:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*5}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 60, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 60, 'c': 70}, 'total': 90, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\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":"112073f4da16d83a932d9add5a920460ba3a6e6a77aa94f4b73f4bf7c6703959","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cols, order, hidden, widths, minimum, maximum, default):\n    by_id = {c['id']: c for c in cols}\n    ids = [c for c in order if c in by_id and c not in hidden]\n    ids += [c['id'] for c in cols if c['id'] not in order and c['id'] not in hidden]\n    resolved = {c: max(minimum.get(c, 0), min(maximum.get(c, 10000), widths.get(c, by_id[c].get('width', default)))) for c in ids}\n    starts = {c: sum(resolved[x] for x in ids[:i]) for i,c in enumerate(ids)}\n    return {'ids': ids, 'widths': resolved, 'starts': starts, 'total': sum(resolved.values()), 'resizable': [c for c in ids if by_id[c].get('resize', True)], 'handles': [c for c in ids[:-1] if by_id[c].get('resize', True)], 'last': ids[-1] if ids else None}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*1}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 12, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 12, 'c': 22}, 'total': 42, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 2:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*2}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 24, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 24, 'c': 34}, 'total': 54, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 3:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*3}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 36, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 36, 'c': 46}, 'total': 66, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 4:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*4}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 48, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 48, 'c': 58}, 'total': 78, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\nif N == 5:\n    check('mixed schema', solve([{'id':'a','width':8,'resize':False},{'id':'b'},{'id':'c','width':30}], ['b','gone','a'], [], {'b':12*5}, {'a':10}, {'c':20}, 7), {'ids': ['b', 'a', 'c'], 'widths': {'b': 60, 'a': 10, 'c': 20}, 'starts': {'b': 0, 'a': 60, 'c': 70}, 'total': 90, 'resizable': ['b', 'c'], 'handles': ['b'], 'last': 'c'})\n    check('zero override', solve([{'id':'a','width':8},{'id':'b','width':9}], ['a','b'], [], {'a':0}, {}, {}, 5), {'ids': ['a', 'b'], 'widths': {'a': 0, 'b': 9}, 'starts': {'a': 0, 'b': 0}, 'total': 9, 'resizable': ['a', 'b'], 'handles': ['a'], 'last': 'b'})\n    check('multiple hidden', solve([{'id':'a'},{'id':'b'},{'id':'c'},{'id':'d'}], ['a','b','c'], ['a','b','d'], {}, {}, {}, 6), {'ids': ['c'], 'widths': {'c': 6}, 'starts': {'c': 0}, 'total': 6, 'resizable': ['c'], 'handles': [], 'last': 'c'})\n    check('empty table', solve([], [], [], {}, {}, {}, 5), {'ids': [], 'widths': {}, 'starts': {}, 'total': 0, 'resizable': [], 'handles': [], 'last': None})\n    check('fixed singleton', solve([{'id':'x','resize':False}], ['x'], [], {}, {'x':11}, {'x':11}, 3), {'ids': ['x'], 'widths': {'x': 11}, 'starts': {'x': 0}, 'total': 11, 'resizable': [], 'handles': [], 'last': 'x'})\n    check('default tracks', solve([{'id':'q'},{'id':'r'}], [], [], {}, {}, {}, 4), {'ids': ['q', 'r'], 'widths': {'q': 4, 'r': 4}, 'starts': {'q': 0, 'r': 4}, 'total': 8, 'resizable': ['q', 'r'], 'handles': ['q'], 'last': 'r'})\n\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":"Schema IDs are unique; width bounds satisfy 0 <= minimum <= maximum. Deterministic offline table UI model; no browser, DOM, framework, or standards conformance is claimed. 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-table-interactions-column-track-maximum-width","generated_at":"2026-09-29T14:42:55.552268+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline table UI model isolates column track resolution, including adversarial row/column relationships.","repair":"Apply the complete maximum width rule: maximum.get(c, 10000).","root_cause":"The maximum width decision uses '10000' instead of 'maximum.get(c, 10000)'.","sha256":"3fe5719ab9a1a853b8ec21659b8dd7f437b92b9b466c8e27549591ba1720af14","title":"Column track resolution: maximum width · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.573,"exit_code":1,"observations":[{"actual":{"handles":["b"],"ids":["b","a","c"],"last":"c","resizable":["b","c"],"starts":{"a":12,"b":0,"c":22},"total":43,"widths":{"a":10,"b":12,"c":21}},"check":"mixed schema","expected":{"handles":["b"],"ids":["b","a","c"],"last":"c","resizable":["b","c"],"starts":{"a":12,"b":0,"c":22},"total":42,"widths":{"a":10,"b":12,"c":20}},"passed":false},{"actual":{"handles":["a"],"ids":["a","b"],"last":"b","resizable":["a","b"],"starts":{"a":0,"b":0},"total":9,"widths":{"a":0,"b":9}},"check":"zero override","expected":{"handles":["a"],"ids":["a","b"],"last":"b","resizable":["a","b"],"starts":{"a":0,"b":0},"total":9,"widths":{"a":0,"b":9}},"passed":true},{"actual":{"handles":[],"ids":["c"],"last":"c","resizable":["c"],"starts":{"c":0},"total":6,"widths":{"c":6}},"check":"multiple hidden","expected":{"handles":[],"ids":["c"],"last":"c","resizable":["c"],"starts":{"c":0},"total":6,"widths":{"c":6}},"passed":true},{"actual":{"handles":[],"ids":[],"last":null,"resizable":[],"starts":{},"total":0,"widths":{}},"check":"empty table","expected":{"handles":[],"ids":[],"last":null,"resizable":[],"starts":{},"total":0,"widths":{}},"passed":true},{"actual":{"handles":[],"ids":["x"],"last":"x","resizable":[],"starts":{"x":0},"total":11,"widths":{"x":11}},"check":"fixed singleton","expected":{"handles":[],"ids":["x"],"last":"x","resizable":[],"starts":{"x":0},"total":11,"widths":{"x":11}},"passed":true},{"actual":{"handles":["q"],"ids":["q","r"],"last":"r","resizable":["q","r"],"starts":{"q":0,"r":4},"total":8,"widths":{"q":4,"r":4}},"check":"default tracks","expected":{"handles":["q"],"ids":["q","r"],"last":"r","resizable":["q","r"],"starts":{"q":0,"r":4},"total":8,"widths":{"q":4,"r":4}},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"mixed schema\", \"actual\": {\"ids\": [\"b\", \"a\", \"c\"], \"widths\": {\"b\": 12, \"a\": 10, \"c\": 21}, \"starts\": {\"b\": 0, \"a\": 12, \"c\": 22}, \"total\": 43, \"resizable\": [\"b\", \"c\"], \"handles\": [\"b\"], \"last\": \"c\"}, \"expected\": {\"ids\": [\"b\", \"a\", \"c\"], \"widths\": {\"b\": 12, \"a\": 10, \"c\": 20}, \"starts\": {\"b\": 0, \"a\": 12, \"c\": 22}, \"total\": 42, \"resizable\": [\"b\", \"c\"], \"handles\": [\"b\"], \"last\": \"c\"}, \"passed\": false}, {\"check\": \"zero override\", \"actual\": {\"ids\": [\"a\", \"b\"], \"widths\": {\"a\": 0, \"b\": 9}, \"starts\": {\"a\": 0, \"b\": 0}, \"total\": 9, \"resizable\": [\"a\", \"b\"], \"handles\": [\"a\"], \"last\": \"b\"}, \"expected\": {\"ids\": [\"a\", \"b\"], \"widths\": {\"a\": 0, \"b\": 9}, \"starts\": {\"a\": 0, \"b\": 0}, \"total\": 9, \"resizable\": [\"a\", \"b\"], \"handles\": [\"a\"], \"last\": \"b\"}, \"passed\": true}, {\"check\": \"multiple hidden\", \"actual\": {\"ids\": [\"c\"], \"widths\": {\"c\": 6}, \"starts\": {\"c\": 0}, \"total\": 6, \"resizable\": [\"c\"], \"handles\": [], \"last\": \"c\"}, \"expected\": {\"ids\": [\"c\"], \"widths\": {\"c\": 6}, \"starts\": {\"c\": 0}, \"total\": 6, \"resizable\": [\"c\"], \"handles\": [], \"last\": \"c\"}, \"passed\": true}, {\"check\": \"empty table\", \"actual\": {\"ids\": [], \"widths\": {}, \"starts\": {}, \"total\": 0, \"resizable\": [], \"handles\": [], \"last\": null}, \"expected\": {\"ids\": [], \"widths\": {}, \"starts\": {}, \"total\": 0, \"resizable\": [], \"handles\": [], \"last\": null}, \"passed\": true}, {\"check\": \"fixed singleton\", \"actual\": {\"ids\": [\"x\"], \"widths\": {\"x\": 11}, \"starts\": {\"x\": 0}, \"total\": 11, \"resizable\": [], \"handles\": [], \"last\": \"x\"}, \"expected\": {\"ids\": [\"x\"], \"widths\": {\"x\": 11}, \"starts\": {\"x\": 0}, \"total\": 11, \"resizable\": [], \"handles\": [], \"last\": \"x\"}, \"passed\": true}, {\"check\": \"default tracks\", \"actual\": {\"ids\": [\"q\", \"r\"], \"widths\": {\"q\": 4, \"r\": 4}, \"starts\": {\"q\": 0, \"r\": 4}, \"total\": 8, \"resizable\": [\"q\", \"r\"], \"handles\": [\"q\"], \"last\": \"r\"}, \"expected\": {\"ids\": [\"q\", \"r\"], \"widths\": {\"q\": 4, \"r\": 4}, \"starts\": {\"q\": 0, \"r\": 4}, \"total\": 8, \"resizable\": [\"q\", \"r\"], \"handles\": [\"q\"], \"last\": \"r\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.397,"exit_code":1,"observations":[{"actual":{"handles":["b"],"ids":["b","a","c"],"last":"c","resizable":["b","c"],"starts":{"a":12,"b":0,"c":22},"total":52,"widths":{"a":10,"b":12,"c":30}},"check":"mixed schema","expected":{"handles":["b"],"ids":["b","a","c"],"last":"c","resizable":["b","c"],"starts":{"a":12,"b":0,"c":22},"total":42,"widths":{"a":10,"b":12,"c":20}},"passed":false},{"actual":{"handles":["a"],"ids":["a","b"],"last":"b","resizable":["a","b"],"starts":{"a":0,"b":0},"total":9,"widths":{"a":0,"b":9}},"check":"zero override","expected":{"handles":["a"],"ids":["a","b"],"last":"b","resizable":["a","b"],"starts":{"a":0,"b":0},"total":9,"widths":{"a":0,"b":9}},"passed":true},{"actual":{"handles":[],"ids":["c"],"last":"c","resizable":["c"],"starts":{"c":0},"total":6,"widths":{"c":6}},"check":"multiple hidden","expected":{"handles":[],"ids":["c"],"last":"c","resizable":["c"],"starts":{"c":0},"total":6,"widths":{"c":6}},"passed":true},{"actual":{"handles":[],"ids":[],"last":null,"resizable":[],"starts":{},"total":0,"widths":{}},"check":"empty table","expected":{"handles":[],"ids":[],"last":null,"resizable":[],"starts":{},"total":0,"widths":{}},"passed":true},{"actual":{"handles":[],"ids":["x"],"last":"x","resizable":[],"starts":{"x":0},"total":11,"widths":{"x":11}},"check":"fixed singleton","expected":{"handles":[],"ids":["x"],"last":"x","resizable":[],"starts":{"x":0},"total":11,"widths":{"x":11}},"passed":true},{"actual":{"handles":["q"],"ids":["q","r"],"last":"r","resizable":["q","r"],"starts":{"q":0,"r":4},"total":8,"widths":{"q":4,"r":4}},"check":"default tracks","expected":{"handles":["q"],"ids":["q","r"],"last":"r","resizable":["q","r"],"starts":{"q":0,"r":4},"total":8,"widths":{"q":4,"r":4}},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"mixed schema\", \"actual\": {\"ids\": [\"b\", \"a\", \"c\"], \"widths\": {\"b\": 12, \"a\": 10, \"c\": 30}, \"starts\": {\"b\": 0, \"a\": 12, \"c\": 22}, \"total\": 52, \"resizable\": [\"b\", \"c\"], \"handles\": [\"b\"], \"last\": \"c\"}, \"expected\": {\"ids\": [\"b\", \"a\", \"c\"], \"widths\": {\"b\": 12, \"a\": 10, \"c\": 20}, \"starts\": {\"b\": 0, \"a\": 12, \"c\": 22}, \"total\": 42, \"resizable\": [\"b\", \"c\"], \"handles\": [\"b\"], \"last\": \"c\"}, \"passed\": false}, {\"check\": \"zero override\", \"actual\": {\"ids\": [\"a\", \"b\"], \"widths\": {\"a\": 0, \"b\": 9}, \"starts\": {\"a\": 0, \"b\": 0}, \"total\": 9, \"resizable\": [\"a\", \"b\"], \"handles\": [\"a\"], \"last\": \"b\"}, \"expected\": {\"ids\": [\"a\", \"b\"], \"widths\": {\"a\": 0, \"b\": 9}, \"starts\": {\"a\": 0, \"b\": 0}, \"total\": 9, \"resizable\": [\"a\", \"b\"], \"handles\": [\"a\"], \"last\": \"b\"}, \"passed\": true}, {\"check\": \"multiple hidden\", \"actual\": {\"ids\": [\"c\"], \"widths\": {\"c\": 6}, \"starts\": {\"c\": 0}, \"total\": 6, \"resizable\": [\"c\"], \"handles\": [], \"last\": \"c\"}, \"expected\": {\"ids\": [\"c\"], \"widths\": {\"c\": 6}, \"starts\": {\"c\": 0}, \"total\": 6, \"resizable\": [\"c\"], \"handles\": [], \"last\": \"c\"}, \"passed\": true}, {\"check\": \"empty table\", \"actual\": {\"ids\": [], \"widths\": {}, \"starts\": {}, \"total\": 0, \"resizable\": [], \"handles\": [], \"last\": null}, \"expected\": {\"ids\": [], \"widths\": {}, \"starts\": {}, \"total\": 0, \"resizable\": [], \"handles\": [], \"last\": null}, \"passed\": true}, {\"check\": \"fixed singleton\", \"actual\": {\"ids\": [\"x\"], \"widths\": {\"x\": 11}, \"starts\": {\"x\": 0}, \"total\": 11, \"resizable\": [], \"handles\": [], \"last\": \"x\"}, \"expected\": {\"ids\": [\"x\"], \"widths\": {\"x\": 11}, \"starts\": {\"x\": 0}, \"total\": 11, \"resizable\": [], \"handles\": [], \"last\": \"x\"}, \"passed\": true}, {\"check\": \"default tracks\", \"actual\": {\"ids\": [\"q\", \"r\"], \"widths\": {\"q\": 4, \"r\": 4}, \"starts\": {\"q\": 0, \"r\": 4}, \"total\": 8, \"resizable\": [\"q\", \"r\"], \"handles\": [\"q\"], \"last\": \"r\"}, \"expected\": {\"ids\": [\"q\", \"r\"], \"widths\": {\"q\": 4, \"r\": 4}, \"starts\": {\"q\": 0, \"r\": 4}, \"total\": 8, \"resizable\": [\"q\", \"r\"], \"handles\": [\"q\"], \"last\": \"r\"}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.698,"exit_code":0,"observations":[{"actual":{"handles":["b"],"ids":["b","a","c"],"last":"c","resizable":["b","c"],"starts":{"a":12,"b":0,"c":22},"total":42,"widths":{"a":10,"b":12,"c":20}},"check":"mixed schema","expected":{"handles":["b"],"ids":["b","a","c"],"last":"c","resizable":["b","c"],"starts":{"a":12,"b":0,"c":22},"total":42,"widths":{"a":10,"b":12,"c":20}},"passed":true},{"actual":{"handles":["a"],"ids":["a","b"],"last":"b","resizable":["a","b"],"starts":{"a":0,"b":0},"total":9,"widths":{"a":0,"b":9}},"check":"zero override","expected":{"handles":["a"],"ids":["a","b"],"last":"b","resizable":["a","b"],"starts":{"a":0,"b":0},"total":9,"widths":{"a":0,"b":9}},"passed":true},{"actual":{"handles":[],"ids":["c"],"last":"c","resizable":["c"],"starts":{"c":0},"total":6,"widths":{"c":6}},"check":"multiple hidden","expected":{"handles":[],"ids":["c"],"last":"c","resizable":["c"],"starts":{"c":0},"total":6,"widths":{"c":6}},"passed":true},{"actual":{"handles":[],"ids":[],"last":null,"resizable":[],"starts":{},"total":0,"widths":{}},"check":"empty table","expected":{"handles":[],"ids":[],"last":null,"resizable":[],"starts":{},"total":0,"widths":{}},"passed":true},{"actual":{"handles":[],"ids":["x"],"last":"x","resizable":[],"starts":{"x":0},"total":11,"widths":{"x":11}},"check":"fixed singleton","expected":{"handles":[],"ids":["x"],"last":"x","resizable":[],"starts":{"x":0},"total":11,"widths":{"x":11}},"passed":true},{"actual":{"handles":["q"],"ids":["q","r"],"last":"r","resizable":["q","r"],"starts":{"q":0,"r":4},"total":8,"widths":{"q":4,"r":4}},"check":"default tracks","expected":{"handles":["q"],"ids":["q","r"],"last":"r","resizable":["q","r"],"starts":{"q":0,"r":4},"total":8,"widths":{"q":4,"r":4}},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"mixed schema\", \"actual\": {\"ids\": [\"b\", \"a\", \"c\"], \"widths\": {\"b\": 12, \"a\": 10, \"c\": 20}, \"starts\": {\"b\": 0, \"a\": 12, \"c\": 22}, \"total\": 42, \"resizable\": [\"b\", \"c\"], \"handles\": [\"b\"], \"last\": \"c\"}, \"expected\": {\"ids\": [\"b\", \"a\", \"c\"], \"widths\": {\"b\": 12, \"a\": 10, \"c\": 20}, \"starts\": {\"b\": 0, \"a\": 12, \"c\": 22}, \"total\": 42, \"resizable\": [\"b\", \"c\"], \"handles\": [\"b\"], \"last\": \"c\"}, \"passed\": true}, {\"check\": \"zero override\", \"actual\": {\"ids\": [\"a\", \"b\"], \"widths\": {\"a\": 0, \"b\": 9}, \"starts\": {\"a\": 0, \"b\": 0}, \"total\": 9, \"resizable\": [\"a\", \"b\"], \"handles\": [\"a\"], \"last\": \"b\"}, \"expected\": {\"ids\": [\"a\", \"b\"], \"widths\": {\"a\": 0, \"b\": 9}, \"starts\": {\"a\": 0, \"b\": 0}, \"total\": 9, \"resizable\": [\"a\", \"b\"], \"handles\": [\"a\"], \"last\": \"b\"}, \"passed\": true}, {\"check\": \"multiple hidden\", \"actual\": {\"ids\": [\"c\"], \"widths\": {\"c\": 6}, \"starts\": {\"c\": 0}, \"total\": 6, \"resizable\": [\"c\"], \"handles\": [], \"last\": \"c\"}, \"expected\": {\"ids\": [\"c\"], \"widths\": {\"c\": 6}, \"starts\": {\"c\": 0}, \"total\": 6, \"resizable\": [\"c\"], \"handles\": [], \"last\": \"c\"}, \"passed\": true}, {\"check\": \"empty table\", \"actual\": {\"ids\": [], \"widths\": {}, \"starts\": {}, \"total\": 0, \"resizable\": [], \"handles\": [], \"last\": null}, \"expected\": {\"ids\": [], \"widths\": {}, \"starts\": {}, \"total\": 0, \"resizable\": [], \"handles\": [], \"last\": null}, \"passed\": true}, {\"check\": \"fixed singleton\", \"actual\": {\"ids\": [\"x\"], \"widths\": {\"x\": 11}, \"starts\": {\"x\": 0}, \"total\": 11, \"resizable\": [], \"handles\": [], \"last\": \"x\"}, \"expected\": {\"ids\": [\"x\"], \"widths\": {\"x\": 11}, \"starts\": {\"x\": 0}, \"total\": 11, \"resizable\": [], \"handles\": [], \"last\": \"x\"}, \"passed\": true}, {\"check\": \"default tracks\", \"actual\": {\"ids\": [\"q\", \"r\"], \"widths\": {\"q\": 4, \"r\": 4}, \"starts\": {\"q\": 0, \"r\": 4}, \"total\": 8, \"resizable\": [\"q\", \"r\"], \"handles\": [\"q\"], \"last\": \"r\"}, \"expected\": {\"ids\": [\"q\", \"r\"], \"widths\": {\"q\": 4, \"r\": 4}, \"starts\": {\"q\": 0, \"r\": 4}, \"total\": 8, \"resizable\": [\"q\", \"r\"], \"handles\": [\"q\"], \"last\": \"r\"}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}