{"abstract":"The table tuple column key result violates the stipulated pivot table column descriptor generation contract.","category":"Table interactions","checks":6,"contract":"Pivot columns use typed dimension tuples plus measure IDs as identity, deduplicate paths in encounter order, keep measure-specific visibility, distinguish missing/empty/zero dimensions in labels, and represent grand totals with empty ancestry and separately hideable measure keys.","evaluation_group":"s3-table-interactions-pivot-headers","failed_approach":"The attempted repair \"key=(tuple(t),m['label'])\" still loses a required part of the table contract.","family":"s3-table-interactions-pivot-headers-tuple-column-key","id":"FA-37896","implementations":{"attempt":{"sha256":"f15ce69c092bd108daf850d76fdabbde1a1ae58b4abf8422a5cbeadf1949422f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(tuples, measures, hidden, totals, separator):\n    seen=[]\n    for t in tuples:\n        if t not in seen: seen.append(t)\n    cols=[]\n    for t in seen:\n        for m in measures:\n            key=(tuple(t),m['label'])\n            if key in hidden: continue\n            cols.append({'key':key,'path':list(t),'label':separator.join(str(x) if x is not None else '(missing)' for x in t)+separator+m['label'],'measure':m['id'],'total':False})\n    if totals:\n        for m in measures:\n            key=(('TOTAL',),m['id'])\n            if key not in hidden: cols.append({'key':key,'path':[],'label':'Total'+separator+m['label'],'measure':m['id'],'total':True})\n    return cols\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('duplicate paths measures', solve([('east',1),('west',2),('east',1)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 1), 'sum'), 'path': ['east', 1], 'label': 'east / 1 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 1), 'cnt'), 'path': ['east', 1], 'label': 'east / 1 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 2:\n    check('duplicate paths measures', solve([('east',2),('west',2),('east',2)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 2), 'sum'), 'path': ['east', 2], 'label': 'east / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 2), 'cnt'), 'path': ['east', 2], 'label': 'east / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 3:\n    check('duplicate paths measures', solve([('east',3),('west',2),('east',3)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 3), 'sum'), 'path': ['east', 3], 'label': 'east / 3 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 3), 'cnt'), 'path': ['east', 3], 'label': 'east / 3 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 4:\n    check('duplicate paths measures', solve([('east',4),('west',2),('east',4)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 4), 'sum'), 'path': ['east', 4], 'label': 'east / 4 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 4), 'cnt'), 'path': ['east', 4], 'label': 'east / 4 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 5:\n    check('duplicate paths measures', solve([('east',5),('west',2),('east',5)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 5), 'sum'), 'path': ['east', 5], 'label': 'east / 5 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 5), 'cnt'), 'path': ['east', 5], 'label': 'east / 5 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\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":"bae7ae0d08b561cb729d877683750017755065479b45fc0819737d9698af9f39","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(tuples, measures, hidden, totals, separator):\n    seen=[]\n    for t in tuples:\n        if t not in seen: seen.append(t)\n    cols=[]\n    for t in seen:\n        for m in measures:\n            key=(tuple(str(x) for x in t),m['id'])\n            if key in hidden: continue\n            cols.append({'key':key,'path':list(t),'label':separator.join(str(x) if x is not None else '(missing)' for x in t)+separator+m['label'],'measure':m['id'],'total':False})\n    if totals:\n        for m in measures:\n            key=(('TOTAL',),m['id'])\n            if key not in hidden: cols.append({'key':key,'path':[],'label':'Total'+separator+m['label'],'measure':m['id'],'total':True})\n    return cols\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('duplicate paths measures', solve([('east',1),('west',2),('east',1)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 1), 'sum'), 'path': ['east', 1], 'label': 'east / 1 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 1), 'cnt'), 'path': ['east', 1], 'label': 'east / 1 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 2:\n    check('duplicate paths measures', solve([('east',2),('west',2),('east',2)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 2), 'sum'), 'path': ['east', 2], 'label': 'east / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 2), 'cnt'), 'path': ['east', 2], 'label': 'east / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 3:\n    check('duplicate paths measures', solve([('east',3),('west',2),('east',3)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 3), 'sum'), 'path': ['east', 3], 'label': 'east / 3 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 3), 'cnt'), 'path': ['east', 3], 'label': 'east / 3 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 4:\n    check('duplicate paths measures', solve([('east',4),('west',2),('east',4)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 4), 'sum'), 'path': ['east', 4], 'label': 'east / 4 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 4), 'cnt'), 'path': ['east', 4], 'label': 'east / 4 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 5:\n    check('duplicate paths measures', solve([('east',5),('west',2),('east',5)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 5), 'sum'), 'path': ['east', 5], 'label': 'east / 5 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 5), 'cnt'), 'path': ['east', 5], 'label': 'east / 5 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\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":"f75d95548632379905b5afa8a582dad653b2ad3d0c910dd91dd57a5f6be19059","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(tuples, measures, hidden, totals, separator):\n    seen=[]\n    for t in tuples:\n        if t not in seen: seen.append(t)\n    cols=[]\n    for t in seen:\n        for m in measures:\n            key=(tuple(t),m['id'])\n            if key in hidden: continue\n            cols.append({'key':key,'path':list(t),'label':separator.join(str(x) if x is not None else '(missing)' for x in t)+separator+m['label'],'measure':m['id'],'total':False})\n    if totals:\n        for m in measures:\n            key=(('TOTAL',),m['id'])\n            if key not in hidden: cols.append({'key':key,'path':[],'label':'Total'+separator+m['label'],'measure':m['id'],'total':True})\n    return cols\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('duplicate paths measures', solve([('east',1),('west',2),('east',1)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 1), 'sum'), 'path': ['east', 1], 'label': 'east / 1 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 1), 'cnt'), 'path': ['east', 1], 'label': 'east / 1 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 2:\n    check('duplicate paths measures', solve([('east',2),('west',2),('east',2)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 2), 'sum'), 'path': ['east', 2], 'label': 'east / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 2), 'cnt'), 'path': ['east', 2], 'label': 'east / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 3:\n    check('duplicate paths measures', solve([('east',3),('west',2),('east',3)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 3), 'sum'), 'path': ['east', 3], 'label': 'east / 3 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 3), 'cnt'), 'path': ['east', 3], 'label': 'east / 3 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 4:\n    check('duplicate paths measures', solve([('east',4),('west',2),('east',4)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 4), 'sum'), 'path': ['east', 4], 'label': 'east / 4 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 4), 'cnt'), 'path': ['east', 4], 'label': 'east / 4 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\n\nif N == 5:\n    check('duplicate paths measures', solve([('east',5),('west',2),('east',5)], [{'id':'sum','label':'Sales'},{'id':'cnt','label':'Count'}], [], True, ' / '), [{'key': (('east', 5), 'sum'), 'path': ['east', 5], 'label': 'east / 5 / Sales', 'measure': 'sum', 'total': False}, {'key': (('east', 5), 'cnt'), 'path': ['east', 5], 'label': 'east / 5 / Count', 'measure': 'cnt', 'total': False}, {'key': (('west', 2), 'sum'), 'path': ['west', 2], 'label': 'west / 2 / Sales', 'measure': 'sum', 'total': False}, {'key': (('west', 2), 'cnt'), 'path': ['west', 2], 'label': 'west / 2 / Count', 'measure': 'cnt', 'total': False}, {'key': (('TOTAL',), 'sum'), 'path': [], 'label': 'Total / Sales', 'measure': 'sum', 'total': True}, {'key': (('TOTAL',), 'cnt'), 'path': [], 'label': 'Total / Count', 'measure': 'cnt', 'total': True}])\n    check('hidden one measure', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('a',),'x')], False, ':'), [{'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}])\n    check('missing and empty dimensions', solve([(None,),('',),(0,),(1,),('1',)], [{'id':'x','label':'X'}], [], False, ':'), [{'key': ((None,), 'x'), 'path': [None], 'label': '(missing):X', 'measure': 'x', 'total': False}, {'key': (('',), 'x'), 'path': [''], 'label': ':X', 'measure': 'x', 'total': False}, {'key': ((0,), 'x'), 'path': [0], 'label': '0:X', 'measure': 'x', 'total': False}, {'key': ((1,), 'x'), 'path': [1], 'label': '1:X', 'measure': 'x', 'total': False}, {'key': (('1',), 'x'), 'path': ['1'], 'label': '1:X', 'measure': 'x', 'total': False}])\n    check('hidden one total', solve([('a',)], [{'id':'x','label':'X'},{'id':'y','label':'Y'}], [(('TOTAL',),'x')], True, ':'), [{'key': (('a',), 'x'), 'path': ['a'], 'label': 'a:X', 'measure': 'x', 'total': False}, {'key': (('a',), 'y'), 'path': ['a'], 'label': 'a:Y', 'measure': 'y', 'total': False}, {'key': (('TOTAL',), 'y'), 'path': [], 'label': 'Total:Y', 'measure': 'y', 'total': True}])\n    check('totals without tuples', solve([], [{'id':'x','label':'X'}], [], True, ':'), [{'key': (('TOTAL',), 'x'), 'path': [], 'label': 'Total:X', 'measure': 'x', 'total': True}])\n    check('no measures', solve([('a',)], [], [], False, ':'), [])\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":"Measure IDs are unique and dimensions are finite scalar tuples; the singleton dimension path (TOTAL,) is reserved for grand totals. 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-pivot-headers-tuple-column-key","generated_at":"2026-09-29T14:43:05.742722+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline table UI model isolates pivot table column descriptor generation, including adversarial row/column relationships.","repair":"Apply the complete tuple column key rule: key=(tuple(t),m['id']).","root_cause":"The tuple column key decision uses \"key=(tuple(str(x) for x in t),m['id'])\" instead of \"key=(tuple(t),m['id'])\".","sha256":"329f16bb1f5c8df868aca1de084c361fc459d5e32b8deda5af6703b6c7f45178","title":"Pivot table column descriptor generation: tuple column key · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.173,"exit_code":1,"observations":[{"actual":[{"key":[["east",1],"Sales"],"label":"east / 1 / Sales","measure":"sum","path":["east",1],"total":false},{"key":[["east",1],"Count"],"label":"east / 1 / Count","measure":"cnt","path":["east",1],"total":false},{"key":[["west",2],"Sales"],"label":"west / 2 / Sales","measure":"sum","path":["west",2],"total":false},{"key":[["west",2],"Count"],"label":"west / 2 / Count","measure":"cnt","path":["west",2],"total":false},{"key":[["TOTAL"],"sum"],"label":"Total / Sales","measure":"sum","path":[],"total":true},{"key":[["TOTAL"],"cnt"],"label":"Total / Count","measure":"cnt","path":[],"total":true}],"check":"duplicate paths measures","expected":[{"key":[["east",1],"sum"],"label":"east / 1 / Sales","measure":"sum","path":["east",1],"total":false},{"key":[["east",1],"cnt"],"label":"east / 1 / Count","measure":"cnt","path":["east",1],"total":false},{"key":[["west",2],"sum"],"label":"west / 2 / Sales","measure":"sum","path":["west",2],"total":false},{"key":[["west",2],"cnt"],"label":"west / 2 / Count","measure":"cnt","path":["west",2],"total":false},{"key":[["TOTAL"],"sum"],"label":"Total / Sales","measure":"sum","path":[],"total":true},{"key":[["TOTAL"],"cnt"],"label":"Total / Count","measure":"cnt","path":[],"total":true}],"passed":false},{"actual":[{"key":[["a"],"X"],"label":"a:X","measure":"x","path":["a"],"total":false},{"key":[["a"],"Y"],"label":"a:Y","measure":"y","path":["a"],"total":false}],"check":"hidden one measure","expected":[{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false}],"passed":false},{"actual":[{"key":[[null],"X"],"label":"(missing):X","measure":"x","path":[null],"total":false},{"key":[[""],"X"],"label":":X","measure":"x","path":[""],"total":false},{"key":[[0],"X"],"label":"0:X","measure":"x","path":[0],"total":false},{"key":[[1],"X"],"label":"1:X","measure":"x","path":[1],"total":false},{"key":[["1"],"X"],"label":"1:X","measure":"x","path":["1"],"total":false}],"check":"missing and empty dimensions","expected":[{"key":[[null],"x"],"label":"(missing):X","measure":"x","path":[null],"total":false},{"key":[[""],"x"],"label":":X","measure":"x","path":[""],"total":false},{"key":[[0],"x"],"label":"0:X","measure":"x","path":[0],"total":false},{"key":[[1],"x"],"label":"1:X","measure":"x","path":[1],"total":false},{"key":[["1"],"x"],"label":"1:X","measure":"x","path":["1"],"total":false}],"passed":false},{"actual":[{"key":[["a"],"X"],"label":"a:X","measure":"x","path":["a"],"total":false},{"key":[["a"],"Y"],"label":"a:Y","measure":"y","path":["a"],"total":false},{"key":[["TOTAL"],"y"],"label":"Total:Y","measure":"y","path":[],"total":true}],"check":"hidden one total","expected":[{"key":[["a"],"x"],"label":"a:X","measure":"x","path":["a"],"total":false},{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false},{"key":[["TOTAL"],"y"],"label":"Total:Y","measure":"y","path":[],"total":true}],"passed":false},{"actual":[{"key":[["TOTAL"],"x"],"label":"Total:X","measure":"x","path":[],"total":true}],"check":"totals without tuples","expected":[{"key":[["TOTAL"],"x"],"label":"Total:X","measure":"x","path":[],"total":true}],"passed":true},{"actual":[],"check":"no measures","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"duplicate paths measures\", \"actual\": [{\"key\": [[\"east\", 1], \"Sales\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"east\", 1], \"Count\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"west\", 2], \"Sales\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"west\", 2], \"Count\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"sum\"], \"path\": [], \"label\": \"Total / Sales\", \"measure\": \"sum\", \"total\": true}, {\"key\": [[\"TOTAL\"], \"cnt\"], \"path\": [], \"label\": \"Total / Count\", \"measure\": \"cnt\", \"total\": true}], \"expected\": [{\"key\": [[\"east\", 1], \"sum\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"east\", 1], \"cnt\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"west\", 2], \"sum\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"west\", 2], \"cnt\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"sum\"], \"path\": [], \"label\": \"Total / Sales\", \"measure\": \"sum\", \"total\": true}, {\"key\": [[\"TOTAL\"], \"cnt\"], \"path\": [], \"label\": \"Total / Count\", \"measure\": \"cnt\", \"total\": true}], \"passed\": false}, {\"check\": \"hidden one measure\", \"actual\": [{\"key\": [[\"a\"], \"X\"], \"path\": [\"a\"], \"label\": \"a:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"a\"], \"Y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}], \"expected\": [{\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}], \"passed\": false}, {\"check\": \"missing and empty dimensions\", \"actual\": [{\"key\": [[null], \"X\"], \"path\": [null], \"label\": \"(missing):X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"\"], \"X\"], \"path\": [\"\"], \"label\": \":X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[0], \"X\"], \"path\": [0], \"label\": \"0:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[1], \"X\"], \"path\": [1], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"1\"], \"X\"], \"path\": [\"1\"], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}], \"expected\": [{\"key\": [[null], \"x\"], \"path\": [null], \"label\": \"(missing):X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"\"], \"x\"], \"path\": [\"\"], \"label\": \":X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[0], \"x\"], \"path\": [0], \"label\": \"0:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[1], \"x\"], \"path\": [1], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"1\"], \"x\"], \"path\": [\"1\"], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}], \"passed\": false}, {\"check\": \"hidden one total\", \"actual\": [{\"key\": [[\"a\"], \"X\"], \"path\": [\"a\"], \"label\": \"a:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"a\"], \"Y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"y\"], \"path\": [], \"label\": \"Total:Y\", \"measure\": \"y\", \"total\": true}], \"expected\": [{\"key\": [[\"a\"], \"x\"], \"path\": [\"a\"], \"label\": \"a:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"y\"], \"path\": [], \"label\": \"Total:Y\", \"measure\": \"y\", \"total\": true}], \"passed\": false}, {\"check\": \"totals without tuples\", \"actual\": [{\"key\": [[\"TOTAL\"], \"x\"], \"path\": [], \"label\": \"Total:X\", \"measure\": \"x\", \"total\": true}], \"expected\": [{\"key\": [[\"TOTAL\"], \"x\"], \"path\": [], \"label\": \"Total:X\", \"measure\": \"x\", \"total\": true}], \"passed\": true}, {\"check\": \"no measures\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.096,"exit_code":1,"observations":[{"actual":[{"key":[["east","1"],"sum"],"label":"east / 1 / Sales","measure":"sum","path":["east",1],"total":false},{"key":[["east","1"],"cnt"],"label":"east / 1 / Count","measure":"cnt","path":["east",1],"total":false},{"key":[["west","2"],"sum"],"label":"west / 2 / Sales","measure":"sum","path":["west",2],"total":false},{"key":[["west","2"],"cnt"],"label":"west / 2 / Count","measure":"cnt","path":["west",2],"total":false},{"key":[["TOTAL"],"sum"],"label":"Total / Sales","measure":"sum","path":[],"total":true},{"key":[["TOTAL"],"cnt"],"label":"Total / Count","measure":"cnt","path":[],"total":true}],"check":"duplicate paths measures","expected":[{"key":[["east",1],"sum"],"label":"east / 1 / Sales","measure":"sum","path":["east",1],"total":false},{"key":[["east",1],"cnt"],"label":"east / 1 / Count","measure":"cnt","path":["east",1],"total":false},{"key":[["west",2],"sum"],"label":"west / 2 / Sales","measure":"sum","path":["west",2],"total":false},{"key":[["west",2],"cnt"],"label":"west / 2 / Count","measure":"cnt","path":["west",2],"total":false},{"key":[["TOTAL"],"sum"],"label":"Total / Sales","measure":"sum","path":[],"total":true},{"key":[["TOTAL"],"cnt"],"label":"Total / Count","measure":"cnt","path":[],"total":true}],"passed":false},{"actual":[{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false}],"check":"hidden one measure","expected":[{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false}],"passed":true},{"actual":[{"key":[["None"],"x"],"label":"(missing):X","measure":"x","path":[null],"total":false},{"key":[[""],"x"],"label":":X","measure":"x","path":[""],"total":false},{"key":[["0"],"x"],"label":"0:X","measure":"x","path":[0],"total":false},{"key":[["1"],"x"],"label":"1:X","measure":"x","path":[1],"total":false},{"key":[["1"],"x"],"label":"1:X","measure":"x","path":["1"],"total":false}],"check":"missing and empty dimensions","expected":[{"key":[[null],"x"],"label":"(missing):X","measure":"x","path":[null],"total":false},{"key":[[""],"x"],"label":":X","measure":"x","path":[""],"total":false},{"key":[[0],"x"],"label":"0:X","measure":"x","path":[0],"total":false},{"key":[[1],"x"],"label":"1:X","measure":"x","path":[1],"total":false},{"key":[["1"],"x"],"label":"1:X","measure":"x","path":["1"],"total":false}],"passed":false},{"actual":[{"key":[["a"],"x"],"label":"a:X","measure":"x","path":["a"],"total":false},{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false},{"key":[["TOTAL"],"y"],"label":"Total:Y","measure":"y","path":[],"total":true}],"check":"hidden one total","expected":[{"key":[["a"],"x"],"label":"a:X","measure":"x","path":["a"],"total":false},{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false},{"key":[["TOTAL"],"y"],"label":"Total:Y","measure":"y","path":[],"total":true}],"passed":true},{"actual":[{"key":[["TOTAL"],"x"],"label":"Total:X","measure":"x","path":[],"total":true}],"check":"totals without tuples","expected":[{"key":[["TOTAL"],"x"],"label":"Total:X","measure":"x","path":[],"total":true}],"passed":true},{"actual":[],"check":"no measures","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"duplicate paths measures\", \"actual\": [{\"key\": [[\"east\", \"1\"], \"sum\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"east\", \"1\"], \"cnt\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"west\", \"2\"], \"sum\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"west\", \"2\"], \"cnt\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"sum\"], \"path\": [], \"label\": \"Total / Sales\", \"measure\": \"sum\", \"total\": true}, {\"key\": [[\"TOTAL\"], \"cnt\"], \"path\": [], \"label\": \"Total / Count\", \"measure\": \"cnt\", \"total\": true}], \"expected\": [{\"key\": [[\"east\", 1], \"sum\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"east\", 1], \"cnt\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"west\", 2], \"sum\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"west\", 2], \"cnt\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"sum\"], \"path\": [], \"label\": \"Total / Sales\", \"measure\": \"sum\", \"total\": true}, {\"key\": [[\"TOTAL\"], \"cnt\"], \"path\": [], \"label\": \"Total / Count\", \"measure\": \"cnt\", \"total\": true}], \"passed\": false}, {\"check\": \"hidden one measure\", \"actual\": [{\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}], \"expected\": [{\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}], \"passed\": true}, {\"check\": \"missing and empty dimensions\", \"actual\": [{\"key\": [[\"None\"], \"x\"], \"path\": [null], \"label\": \"(missing):X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"\"], \"x\"], \"path\": [\"\"], \"label\": \":X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"0\"], \"x\"], \"path\": [0], \"label\": \"0:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"1\"], \"x\"], \"path\": [1], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"1\"], \"x\"], \"path\": [\"1\"], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}], \"expected\": [{\"key\": [[null], \"x\"], \"path\": [null], \"label\": \"(missing):X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"\"], \"x\"], \"path\": [\"\"], \"label\": \":X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[0], \"x\"], \"path\": [0], \"label\": \"0:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[1], \"x\"], \"path\": [1], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"1\"], \"x\"], \"path\": [\"1\"], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}], \"passed\": false}, {\"check\": \"hidden one total\", \"actual\": [{\"key\": [[\"a\"], \"x\"], \"path\": [\"a\"], \"label\": \"a:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"y\"], \"path\": [], \"label\": \"Total:Y\", \"measure\": \"y\", \"total\": true}], \"expected\": [{\"key\": [[\"a\"], \"x\"], \"path\": [\"a\"], \"label\": \"a:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"y\"], \"path\": [], \"label\": \"Total:Y\", \"measure\": \"y\", \"total\": true}], \"passed\": true}, {\"check\": \"totals without tuples\", \"actual\": [{\"key\": [[\"TOTAL\"], \"x\"], \"path\": [], \"label\": \"Total:X\", \"measure\": \"x\", \"total\": true}], \"expected\": [{\"key\": [[\"TOTAL\"], \"x\"], \"path\": [], \"label\": \"Total:X\", \"measure\": \"x\", \"total\": true}], \"passed\": true}, {\"check\": \"no measures\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.483,"exit_code":0,"observations":[{"actual":[{"key":[["east",1],"sum"],"label":"east / 1 / Sales","measure":"sum","path":["east",1],"total":false},{"key":[["east",1],"cnt"],"label":"east / 1 / Count","measure":"cnt","path":["east",1],"total":false},{"key":[["west",2],"sum"],"label":"west / 2 / Sales","measure":"sum","path":["west",2],"total":false},{"key":[["west",2],"cnt"],"label":"west / 2 / Count","measure":"cnt","path":["west",2],"total":false},{"key":[["TOTAL"],"sum"],"label":"Total / Sales","measure":"sum","path":[],"total":true},{"key":[["TOTAL"],"cnt"],"label":"Total / Count","measure":"cnt","path":[],"total":true}],"check":"duplicate paths measures","expected":[{"key":[["east",1],"sum"],"label":"east / 1 / Sales","measure":"sum","path":["east",1],"total":false},{"key":[["east",1],"cnt"],"label":"east / 1 / Count","measure":"cnt","path":["east",1],"total":false},{"key":[["west",2],"sum"],"label":"west / 2 / Sales","measure":"sum","path":["west",2],"total":false},{"key":[["west",2],"cnt"],"label":"west / 2 / Count","measure":"cnt","path":["west",2],"total":false},{"key":[["TOTAL"],"sum"],"label":"Total / Sales","measure":"sum","path":[],"total":true},{"key":[["TOTAL"],"cnt"],"label":"Total / Count","measure":"cnt","path":[],"total":true}],"passed":true},{"actual":[{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false}],"check":"hidden one measure","expected":[{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false}],"passed":true},{"actual":[{"key":[[null],"x"],"label":"(missing):X","measure":"x","path":[null],"total":false},{"key":[[""],"x"],"label":":X","measure":"x","path":[""],"total":false},{"key":[[0],"x"],"label":"0:X","measure":"x","path":[0],"total":false},{"key":[[1],"x"],"label":"1:X","measure":"x","path":[1],"total":false},{"key":[["1"],"x"],"label":"1:X","measure":"x","path":["1"],"total":false}],"check":"missing and empty dimensions","expected":[{"key":[[null],"x"],"label":"(missing):X","measure":"x","path":[null],"total":false},{"key":[[""],"x"],"label":":X","measure":"x","path":[""],"total":false},{"key":[[0],"x"],"label":"0:X","measure":"x","path":[0],"total":false},{"key":[[1],"x"],"label":"1:X","measure":"x","path":[1],"total":false},{"key":[["1"],"x"],"label":"1:X","measure":"x","path":["1"],"total":false}],"passed":true},{"actual":[{"key":[["a"],"x"],"label":"a:X","measure":"x","path":["a"],"total":false},{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false},{"key":[["TOTAL"],"y"],"label":"Total:Y","measure":"y","path":[],"total":true}],"check":"hidden one total","expected":[{"key":[["a"],"x"],"label":"a:X","measure":"x","path":["a"],"total":false},{"key":[["a"],"y"],"label":"a:Y","measure":"y","path":["a"],"total":false},{"key":[["TOTAL"],"y"],"label":"Total:Y","measure":"y","path":[],"total":true}],"passed":true},{"actual":[{"key":[["TOTAL"],"x"],"label":"Total:X","measure":"x","path":[],"total":true}],"check":"totals without tuples","expected":[{"key":[["TOTAL"],"x"],"label":"Total:X","measure":"x","path":[],"total":true}],"passed":true},{"actual":[],"check":"no measures","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"duplicate paths measures\", \"actual\": [{\"key\": [[\"east\", 1], \"sum\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"east\", 1], \"cnt\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"west\", 2], \"sum\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"west\", 2], \"cnt\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"sum\"], \"path\": [], \"label\": \"Total / Sales\", \"measure\": \"sum\", \"total\": true}, {\"key\": [[\"TOTAL\"], \"cnt\"], \"path\": [], \"label\": \"Total / Count\", \"measure\": \"cnt\", \"total\": true}], \"expected\": [{\"key\": [[\"east\", 1], \"sum\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"east\", 1], \"cnt\"], \"path\": [\"east\", 1], \"label\": \"east / 1 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"west\", 2], \"sum\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Sales\", \"measure\": \"sum\", \"total\": false}, {\"key\": [[\"west\", 2], \"cnt\"], \"path\": [\"west\", 2], \"label\": \"west / 2 / Count\", \"measure\": \"cnt\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"sum\"], \"path\": [], \"label\": \"Total / Sales\", \"measure\": \"sum\", \"total\": true}, {\"key\": [[\"TOTAL\"], \"cnt\"], \"path\": [], \"label\": \"Total / Count\", \"measure\": \"cnt\", \"total\": true}], \"passed\": true}, {\"check\": \"hidden one measure\", \"actual\": [{\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}], \"expected\": [{\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}], \"passed\": true}, {\"check\": \"missing and empty dimensions\", \"actual\": [{\"key\": [[null], \"x\"], \"path\": [null], \"label\": \"(missing):X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"\"], \"x\"], \"path\": [\"\"], \"label\": \":X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[0], \"x\"], \"path\": [0], \"label\": \"0:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[1], \"x\"], \"path\": [1], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"1\"], \"x\"], \"path\": [\"1\"], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}], \"expected\": [{\"key\": [[null], \"x\"], \"path\": [null], \"label\": \"(missing):X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"\"], \"x\"], \"path\": [\"\"], \"label\": \":X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[0], \"x\"], \"path\": [0], \"label\": \"0:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[1], \"x\"], \"path\": [1], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"1\"], \"x\"], \"path\": [\"1\"], \"label\": \"1:X\", \"measure\": \"x\", \"total\": false}], \"passed\": true}, {\"check\": \"hidden one total\", \"actual\": [{\"key\": [[\"a\"], \"x\"], \"path\": [\"a\"], \"label\": \"a:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"y\"], \"path\": [], \"label\": \"Total:Y\", \"measure\": \"y\", \"total\": true}], \"expected\": [{\"key\": [[\"a\"], \"x\"], \"path\": [\"a\"], \"label\": \"a:X\", \"measure\": \"x\", \"total\": false}, {\"key\": [[\"a\"], \"y\"], \"path\": [\"a\"], \"label\": \"a:Y\", \"measure\": \"y\", \"total\": false}, {\"key\": [[\"TOTAL\"], \"y\"], \"path\": [], \"label\": \"Total:Y\", \"measure\": \"y\", \"total\": true}], \"passed\": true}, {\"check\": \"totals without tuples\", \"actual\": [{\"key\": [[\"TOTAL\"], \"x\"], \"path\": [], \"label\": \"Total:X\", \"measure\": \"x\", \"total\": true}], \"expected\": [{\"key\": [[\"TOTAL\"], \"x\"], \"path\": [], \"label\": \"Total:X\", \"measure\": \"x\", \"total\": true}], \"passed\": true}, {\"check\": \"no measures\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}