{"abstract":"Struct projection sorts requested fields by storage name.","category":"Data systems","checks":7,"contract":"Project requested fields from a struct array. Parent validity dominates field validity, absent schema fields materialize None, selection retains row order, and projection retains requested field order.","evaluation_group":"s3-data-systems-struct-vector-project","failed_approach":"Deduplicating a projection removes intentionally repeated result columns.","family":"s3-data-systems-struct-vector-project-field-order","id":"FA-44466","implementations":{"attempt":{"sha256":"9d994d4a1369b1065342c1e3d59a573a752cdbc252db7719208f8e0eeb1e81ff","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        columns,valid,parent,selection,fields=d\n        out=[]\n        for row in selection:\n            record=[]\n            for field in dict.fromkeys(fields):\n                present=field in columns\n                known=present and valid[field][row]\n                value=columns[field][row] if present else None\n                record.append(value if parent[row] and known else None)\n            out.append(record)\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('gather with field order', solve([{'a': [1, 2], 'b': [3, 4]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[4, 2], [3, 1]])\n    check('parent hides values', solve([{'a': [1, 2]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [2]])\n    check('field null lane', solve([{'a': [1, 2]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [2]])\n    check('missing field', solve([{'a': [1]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[1, None]])\n    check('repeated projection', solve([{'a': [1]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[1, 1]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [1]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 2:\n    check('gather with field order', solve([{'a': [2, 3], 'b': [4, 5]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[5, 3], [4, 2]])\n    check('parent hides values', solve([{'a': [2, 3]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [3]])\n    check('field null lane', solve([{'a': [2, 3]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [3]])\n    check('missing field', solve([{'a': [2]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[2, None]])\n    check('repeated projection', solve([{'a': [2]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[2, 2]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [2]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 3:\n    check('gather with field order', solve([{'a': [3, 4], 'b': [5, 6]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[6, 4], [5, 3]])\n    check('parent hides values', solve([{'a': [3, 4]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [4]])\n    check('field null lane', solve([{'a': [3, 4]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [4]])\n    check('missing field', solve([{'a': [3]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[3, None]])\n    check('repeated projection', solve([{'a': [3]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[3, 3]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [3]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 4:\n    check('gather with field order', solve([{'a': [4, 5], 'b': [6, 7]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[7, 5], [6, 4]])\n    check('parent hides values', solve([{'a': [4, 5]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [5]])\n    check('field null lane', solve([{'a': [4, 5]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [5]])\n    check('missing field', solve([{'a': [4]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[4, None]])\n    check('repeated projection', solve([{'a': [4]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[4, 4]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [4]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 5:\n    check('gather with field order', solve([{'a': [5, 6], 'b': [7, 8]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[8, 6], [7, 5]])\n    check('parent hides values', solve([{'a': [5, 6]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [6]])\n    check('field null lane', solve([{'a': [5, 6]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [6]])\n    check('missing field', solve([{'a': [5]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[5, None]])\n    check('repeated projection', solve([{'a': [5]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[5, 5]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [5]}, {'a': [True]}, [True], [0], []]), [[]])\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":"d0dc49b9fff8f8436e0b4abcd6cdf0456109d1199c4fe4be17f417be5f374f2b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        columns,valid,parent,selection,fields=d\n        out=[]\n        for row in selection:\n            record=[]\n            for field in sorted(fields):\n                present=field in columns\n                known=present and valid[field][row]\n                value=columns[field][row] if present else None\n                record.append(value if parent[row] and known else None)\n            out.append(record)\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('gather with field order', solve([{'a': [1, 2], 'b': [3, 4]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[4, 2], [3, 1]])\n    check('parent hides values', solve([{'a': [1, 2]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [2]])\n    check('field null lane', solve([{'a': [1, 2]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [2]])\n    check('missing field', solve([{'a': [1]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[1, None]])\n    check('repeated projection', solve([{'a': [1]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[1, 1]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [1]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 2:\n    check('gather with field order', solve([{'a': [2, 3], 'b': [4, 5]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[5, 3], [4, 2]])\n    check('parent hides values', solve([{'a': [2, 3]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [3]])\n    check('field null lane', solve([{'a': [2, 3]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [3]])\n    check('missing field', solve([{'a': [2]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[2, None]])\n    check('repeated projection', solve([{'a': [2]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[2, 2]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [2]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 3:\n    check('gather with field order', solve([{'a': [3, 4], 'b': [5, 6]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[6, 4], [5, 3]])\n    check('parent hides values', solve([{'a': [3, 4]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [4]])\n    check('field null lane', solve([{'a': [3, 4]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [4]])\n    check('missing field', solve([{'a': [3]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[3, None]])\n    check('repeated projection', solve([{'a': [3]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[3, 3]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [3]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 4:\n    check('gather with field order', solve([{'a': [4, 5], 'b': [6, 7]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[7, 5], [6, 4]])\n    check('parent hides values', solve([{'a': [4, 5]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [5]])\n    check('field null lane', solve([{'a': [4, 5]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [5]])\n    check('missing field', solve([{'a': [4]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[4, None]])\n    check('repeated projection', solve([{'a': [4]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[4, 4]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [4]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 5:\n    check('gather with field order', solve([{'a': [5, 6], 'b': [7, 8]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[8, 6], [7, 5]])\n    check('parent hides values', solve([{'a': [5, 6]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [6]])\n    check('field null lane', solve([{'a': [5, 6]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [6]])\n    check('missing field', solve([{'a': [5]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[5, None]])\n    check('repeated projection', solve([{'a': [5]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[5, 5]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [5]}, {'a': [True]}, [True], [0], []]), [[]])\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":"d130665f6d9eb307fa1c3d2f5e9140f3d3400bbd3dd72e2baba761a0b23ebff2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        columns,valid,parent,selection,fields=d\n        out=[]\n        for row in selection:\n            record=[]\n            for field in fields:\n                present=field in columns\n                known=present and valid[field][row]\n                value=columns[field][row] if present else None\n                record.append(value if parent[row] and known else None)\n            out.append(record)\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('gather with field order', solve([{'a': [1, 2], 'b': [3, 4]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[4, 2], [3, 1]])\n    check('parent hides values', solve([{'a': [1, 2]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [2]])\n    check('field null lane', solve([{'a': [1, 2]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [2]])\n    check('missing field', solve([{'a': [1]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[1, None]])\n    check('repeated projection', solve([{'a': [1]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[1, 1]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [1]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 2:\n    check('gather with field order', solve([{'a': [2, 3], 'b': [4, 5]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[5, 3], [4, 2]])\n    check('parent hides values', solve([{'a': [2, 3]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [3]])\n    check('field null lane', solve([{'a': [2, 3]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [3]])\n    check('missing field', solve([{'a': [2]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[2, None]])\n    check('repeated projection', solve([{'a': [2]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[2, 2]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [2]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 3:\n    check('gather with field order', solve([{'a': [3, 4], 'b': [5, 6]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[6, 4], [5, 3]])\n    check('parent hides values', solve([{'a': [3, 4]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [4]])\n    check('field null lane', solve([{'a': [3, 4]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [4]])\n    check('missing field', solve([{'a': [3]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[3, None]])\n    check('repeated projection', solve([{'a': [3]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[3, 3]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [3]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 4:\n    check('gather with field order', solve([{'a': [4, 5], 'b': [6, 7]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[7, 5], [6, 4]])\n    check('parent hides values', solve([{'a': [4, 5]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [5]])\n    check('field null lane', solve([{'a': [4, 5]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [5]])\n    check('missing field', solve([{'a': [4]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[4, None]])\n    check('repeated projection', solve([{'a': [4]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[4, 4]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [4]}, {'a': [True]}, [True], [0], []]), [[]])\nelif N == 5:\n    check('gather with field order', solve([{'a': [5, 6], 'b': [7, 8]}, {'a': [True, True], 'b': [True, True]}, [True, True], [1, 0], ['b', 'a']]), [[8, 6], [7, 5]])\n    check('parent hides values', solve([{'a': [5, 6]}, {'a': [True, True]}, [False, True], [0, 1], ['a']]), [[None], [6]])\n    check('field null lane', solve([{'a': [5, 6]}, {'a': [False, True]}, [True, True], [0, 1], ['a']]), [[None], [6]])\n    check('missing field', solve([{'a': [5]}, {'a': [True]}, [True], [0], ['a', 'missing']]), [[5, None]])\n    check('repeated projection', solve([{'a': [5]}, {'a': [True]}, [True], [0], ['a', 'a']]), [[5, 5]])\n    check('empty rows', solve([{'a': []}, {'a': []}, [], [], ['a']]), [])\n    check('empty projection', solve([{'a': [5]}, {'a': [True]}, [True], [0], []]), [[]])\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":"Offline stipulated semantics over valid small inputs; no performance, concurrency, or production-engine conformance claim. 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-data-systems-struct-vector-project-field-order","generated_at":"2026-09-29T14:44:12.479213+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A bounded deterministic data engine model makes representation and changelog faults reproducible.","repair":"Preserve the stated physical representation and operation order: Project requested fields from a struct array. Parent validity dominates field validity, absent schema fields materialize None, selection retains row order, and projection retains requested field order.","root_cause":"struct-vector-project: Struct projection sorts requested fields by storage name.","sha256":"744f4a19ce337fbff3b610dbe2c310e7eb459c1a6c82eb6c47df6515606ac5dd","title":"Struct projection sorts requested fields by storage name · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.062,"exit_code":1,"observations":[{"actual":[[4,2],[3,1]],"check":"gather with field order","expected":[[4,2],[3,1]],"passed":true},{"actual":[[null],[2]],"check":"parent hides values","expected":[[null],[2]],"passed":true},{"actual":[[null],[2]],"check":"field null lane","expected":[[null],[2]],"passed":true},{"actual":[[1,null]],"check":"missing field","expected":[[1,null]],"passed":true},{"actual":[[1]],"check":"repeated projection","expected":[[1,1]],"passed":false},{"actual":[],"check":"empty rows","expected":[],"passed":true},{"actual":[[]],"check":"empty projection","expected":[[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"gather with field order\", \"actual\": [[4, 2], [3, 1]], \"expected\": [[4, 2], [3, 1]], \"passed\": true}, {\"check\": \"parent hides values\", \"actual\": [[null], [2]], \"expected\": [[null], [2]], \"passed\": true}, {\"check\": \"field null lane\", \"actual\": [[null], [2]], \"expected\": [[null], [2]], \"passed\": true}, {\"check\": \"missing field\", \"actual\": [[1, null]], \"expected\": [[1, null]], \"passed\": true}, {\"check\": \"repeated projection\", \"actual\": [[1]], \"expected\": [[1, 1]], \"passed\": false}, {\"check\": \"empty rows\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty projection\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.562,"exit_code":1,"observations":[{"actual":[[2,4],[1,3]],"check":"gather with field order","expected":[[4,2],[3,1]],"passed":false},{"actual":[[null],[2]],"check":"parent hides values","expected":[[null],[2]],"passed":true},{"actual":[[null],[2]],"check":"field null lane","expected":[[null],[2]],"passed":true},{"actual":[[1,null]],"check":"missing field","expected":[[1,null]],"passed":true},{"actual":[[1,1]],"check":"repeated projection","expected":[[1,1]],"passed":true},{"actual":[],"check":"empty rows","expected":[],"passed":true},{"actual":[[]],"check":"empty projection","expected":[[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"gather with field order\", \"actual\": [[2, 4], [1, 3]], \"expected\": [[4, 2], [3, 1]], \"passed\": false}, {\"check\": \"parent hides values\", \"actual\": [[null], [2]], \"expected\": [[null], [2]], \"passed\": true}, {\"check\": \"field null lane\", \"actual\": [[null], [2]], \"expected\": [[null], [2]], \"passed\": true}, {\"check\": \"missing field\", \"actual\": [[1, null]], \"expected\": [[1, null]], \"passed\": true}, {\"check\": \"repeated projection\", \"actual\": [[1, 1]], \"expected\": [[1, 1]], \"passed\": true}, {\"check\": \"empty rows\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty projection\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.074,"exit_code":0,"observations":[{"actual":[[4,2],[3,1]],"check":"gather with field order","expected":[[4,2],[3,1]],"passed":true},{"actual":[[null],[2]],"check":"parent hides values","expected":[[null],[2]],"passed":true},{"actual":[[null],[2]],"check":"field null lane","expected":[[null],[2]],"passed":true},{"actual":[[1,null]],"check":"missing field","expected":[[1,null]],"passed":true},{"actual":[[1,1]],"check":"repeated projection","expected":[[1,1]],"passed":true},{"actual":[],"check":"empty rows","expected":[],"passed":true},{"actual":[[]],"check":"empty projection","expected":[[]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"gather with field order\", \"actual\": [[4, 2], [3, 1]], \"expected\": [[4, 2], [3, 1]], \"passed\": true}, {\"check\": \"parent hides values\", \"actual\": [[null], [2]], \"expected\": [[null], [2]], \"passed\": true}, {\"check\": \"field null lane\", \"actual\": [[null], [2]], \"expected\": [[null], [2]], \"passed\": true}, {\"check\": \"missing field\", \"actual\": [[1, null]], \"expected\": [[1, null]], \"passed\": true}, {\"check\": \"repeated projection\", \"actual\": [[1, 1]], \"expected\": [[1, 1]], \"passed\": true}, {\"check\": \"empty rows\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty projection\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}