{"abstract":"The table source value preservation result violates the stipulated table clipboard paste mapping contract.","category":"Table interactions","checks":9,"contract":"Paste maps source offsets to visible table coordinates starting at a stable cell; source raggedness is retained, table edges clip, readonly holes consume coordinates but not patch capacity, raw values remain unchanged, and truncation means an additional writable patch was omitted.","evaluation_group":"s3-table-interactions-paste-grid","failed_approach":"The attempted repair 'cell[1],str(value).strip()' still loses a required part of the table contract.","family":"s3-table-interactions-paste-grid-source-value-preservation","id":"FA-37331","implementations":{"attempt":{"sha256":"865242bffef9cf2179fe8c39b8015edd2fc0f294446f39f4b007ecb4b32946b1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows, cols, matrix, start, readonly, hidden, limit):\n    targets=[c for c in cols if c not in hidden]\n    ri=rows.index(start[0]); ci=targets.index(start[1])\n    patches=[]; rejected=[]\n    for y,source in enumerate(matrix):\n        if ri+y>=len(rows): break\n        for x,value in enumerate(source):\n            if ci+x>=len(targets): break\n            cell=(rows[ri+y],targets[ci+x])\n            if cell in readonly: rejected.append(cell); continue\n            if len(patches)>=limit: return {'patches':patches,'rejected':rejected,'truncated':True}\n            patches.append((cell[0],cell[1],str(value).strip()))\n    return {'patches':patches,'rejected':rejected,'truncated':False}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 2:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[2,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 2), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 3:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[3,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 3), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 4:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[4,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 4), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 5:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[5,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 5), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': 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":"b6eca5eb1979a0f3a9187f30e83d1f07427bc69d919e26ba6d7c71f7b48e60cc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows, cols, matrix, start, readonly, hidden, limit):\n    targets=[c for c in cols if c not in hidden]\n    ri=rows.index(start[0]); ci=targets.index(start[1])\n    patches=[]; rejected=[]\n    for y,source in enumerate(matrix):\n        if ri+y>=len(rows): break\n        for x,value in enumerate(source):\n            if ci+x>=len(targets): break\n            cell=(rows[ri+y],targets[ci+x])\n            if cell in readonly: rejected.append(cell); continue\n            if len(patches)>=limit: return {'patches':patches,'rejected':rejected,'truncated':True}\n            patches.append((cell[0],cell[1],value or None))\n    return {'patches':patches,'rejected':rejected,'truncated':False}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 2:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[2,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 2), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 3:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[3,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 3), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 4:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[4,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 4), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 5:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[5,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 5), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': 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":"099cf6cb3aa8ccf917f5678bf8902f8cd24a3b4c2db019db19ee3a78a838ad99","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows, cols, matrix, start, readonly, hidden, limit):\n    targets=[c for c in cols if c not in hidden]\n    ri=rows.index(start[0]); ci=targets.index(start[1])\n    patches=[]; rejected=[]\n    for y,source in enumerate(matrix):\n        if ri+y>=len(rows): break\n        for x,value in enumerate(source):\n            if ci+x>=len(targets): break\n            cell=(rows[ri+y],targets[ci+x])\n            if cell in readonly: rejected.append(cell); continue\n            if len(patches)>=limit: return {'patches':patches,'rejected':rejected,'truncated':True}\n            patches.append((cell[0],cell[1],value))\n    return {'patches':patches,'rejected':rejected,'truncated':False}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 2:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[2,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 2), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 3:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[3,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 3), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 4:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[4,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 4), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': False})\n\nif N == 5:\n    check('offset rectangular paste', solve(['r0','r1','r2','r3'], ['a','b','c','d'], [[5,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 5), ('r1', 'c', 2), ('r2', 'b', 3), ('r2', 'c', 4)], 'rejected': [], 'truncated': False})\n    check('hidden targets', solve(['r0','r1'], ['a','b','c','d'], [[1,2,3]], ('r0','c'), [], ['a','b'], 9), {'patches': [('r0', 'c', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('readonly holes', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 9), {'patches': [('r0', 'b', 2), ('r1', 'a', 3), ('r1', 'b', 4)], 'rejected': [('r0', 'a')], 'truncated': False})\n    check('bounded patches', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r0','a'), [('r0','a')], [], 2), {'patches': [('r0', 'b', 2), ('r1', 'a', 3)], 'rejected': [('r0', 'a')], 'truncated': True})\n    check('ragged and whitespace', solve(['r0','r1'], ['a','b','c'], [[0,' x '],['']], ('r0','a'), [], [], 9), {'patches': [('r0', 'a', 0), ('r0', 'b', ' x '), ('r1', 'a', '')], 'rejected': [], 'truncated': False})\n    check('clipped edges', solve(['r0','r1'], ['a','b'], [[1,2],[3,4]], ('r1','b'), [], [], 9), {'patches': [('r1', 'b', 1)], 'rejected': [], 'truncated': False})\n    check('hidden internal', solve(['r0'], ['a','b','c','d'], [[1,2,3]], ('r0','a'), [], ['b','c'], 9), {'patches': [('r0', 'a', 1), ('r0', 'd', 2)], 'rejected': [], 'truncated': False})\n    check('budget no locks', solve(['r0'], ['a','b'], [[1,2]], ('r0','a'), [], [], 1), {'patches': [('r0', 'a', 1)], 'rejected': [], 'truncated': True})\n    check('empty input', solve(['r0'], ['a'], [], ('r0','a'), [], [], 0), {'patches': [], 'rejected': [], 'truncated': 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":"The start row and visible start column exist; patch capacity is a nonnegative integer. 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-paste-grid-source-value-preservation","generated_at":"2026-09-29T14:43:00.119441+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline table UI model isolates table clipboard paste mapping, including adversarial row/column relationships.","repair":"Apply the complete source value preservation rule: cell[1],value.","root_cause":"The source value preservation decision uses 'cell[1],value or None' instead of 'cell[1],value'.","sha256":"b2547d075afde0351bc7fd826059ba259a15b499e50f061440cbab34891bb6d5","title":"Table clipboard paste mapping: source value preservation · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.417,"exit_code":1,"observations":[{"actual":{"patches":[["r1","b","1"],["r1","c","2"],["r2","b","3"],["r2","c","4"]],"rejected":[],"truncated":false},"check":"offset rectangular paste","expected":{"patches":[["r1","b",1],["r1","c",2],["r2","b",3],["r2","c",4]],"rejected":[],"truncated":false},"passed":false},{"actual":{"patches":[["r0","c","1"],["r0","d","2"]],"rejected":[],"truncated":false},"check":"hidden targets","expected":{"patches":[["r0","c",1],["r0","d",2]],"rejected":[],"truncated":false},"passed":false},{"actual":{"patches":[["r0","b","2"],["r1","a","3"],["r1","b","4"]],"rejected":[["r0","a"]],"truncated":false},"check":"readonly holes","expected":{"patches":[["r0","b",2],["r1","a",3],["r1","b",4]],"rejected":[["r0","a"]],"truncated":false},"passed":false},{"actual":{"patches":[["r0","b","2"],["r1","a","3"]],"rejected":[["r0","a"]],"truncated":true},"check":"bounded patches","expected":{"patches":[["r0","b",2],["r1","a",3]],"rejected":[["r0","a"]],"truncated":true},"passed":false},{"actual":{"patches":[["r0","a","0"],["r0","b","x"],["r1","a",""]],"rejected":[],"truncated":false},"check":"ragged and whitespace","expected":{"patches":[["r0","a",0],["r0","b"," x "],["r1","a",""]],"rejected":[],"truncated":false},"passed":false},{"actual":{"patches":[["r1","b","1"]],"rejected":[],"truncated":false},"check":"clipped edges","expected":{"patches":[["r1","b",1]],"rejected":[],"truncated":false},"passed":false},{"actual":{"patches":[["r0","a","1"],["r0","d","2"]],"rejected":[],"truncated":false},"check":"hidden internal","expected":{"patches":[["r0","a",1],["r0","d",2]],"rejected":[],"truncated":false},"passed":false},{"actual":{"patches":[["r0","a","1"]],"rejected":[],"truncated":true},"check":"budget no locks","expected":{"patches":[["r0","a",1]],"rejected":[],"truncated":true},"passed":false},{"actual":{"patches":[],"rejected":[],"truncated":false},"check":"empty input","expected":{"patches":[],"rejected":[],"truncated":false},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"offset rectangular paste\", \"actual\": {\"patches\": [[\"r1\", \"b\", \"1\"], [\"r1\", \"c\", \"2\"], [\"r2\", \"b\", \"3\"], [\"r2\", \"c\", \"4\"]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r1\", \"b\", 1], [\"r1\", \"c\", 2], [\"r2\", \"b\", 3], [\"r2\", \"c\", 4]], \"rejected\": [], \"truncated\": false}, \"passed\": false}, {\"check\": \"hidden targets\", \"actual\": {\"patches\": [[\"r0\", \"c\", \"1\"], [\"r0\", \"d\", \"2\"]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"c\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"passed\": false}, {\"check\": \"readonly holes\", \"actual\": {\"patches\": [[\"r0\", \"b\", \"2\"], [\"r1\", \"a\", \"3\"], [\"r1\", \"b\", \"4\"]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3], [\"r1\", \"b\", 4]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": false}, \"passed\": false}, {\"check\": \"bounded patches\", \"actual\": {\"patches\": [[\"r0\", \"b\", \"2\"], [\"r1\", \"a\", \"3\"]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": true}, \"expected\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": true}, \"passed\": false}, {\"check\": \"ragged and whitespace\", \"actual\": {\"patches\": [[\"r0\", \"a\", \"0\"], [\"r0\", \"b\", \"x\"], [\"r1\", \"a\", \"\"]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"a\", 0], [\"r0\", \"b\", \" x \"], [\"r1\", \"a\", \"\"]], \"rejected\": [], \"truncated\": false}, \"passed\": false}, {\"check\": \"clipped edges\", \"actual\": {\"patches\": [[\"r1\", \"b\", \"1\"]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r1\", \"b\", 1]], \"rejected\": [], \"truncated\": false}, \"passed\": false}, {\"check\": \"hidden internal\", \"actual\": {\"patches\": [[\"r0\", \"a\", \"1\"], [\"r0\", \"d\", \"2\"]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"a\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"passed\": false}, {\"check\": \"budget no locks\", \"actual\": {\"patches\": [[\"r0\", \"a\", \"1\"]], \"rejected\": [], \"truncated\": true}, \"expected\": {\"patches\": [[\"r0\", \"a\", 1]], \"rejected\": [], \"truncated\": true}, \"passed\": false}, {\"check\": \"empty input\", \"actual\": {\"patches\": [], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [], \"rejected\": [], \"truncated\": false}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.882,"exit_code":1,"observations":[{"actual":{"patches":[["r1","b",1],["r1","c",2],["r2","b",3],["r2","c",4]],"rejected":[],"truncated":false},"check":"offset rectangular paste","expected":{"patches":[["r1","b",1],["r1","c",2],["r2","b",3],["r2","c",4]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r0","c",1],["r0","d",2]],"rejected":[],"truncated":false},"check":"hidden targets","expected":{"patches":[["r0","c",1],["r0","d",2]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r0","b",2],["r1","a",3],["r1","b",4]],"rejected":[["r0","a"]],"truncated":false},"check":"readonly holes","expected":{"patches":[["r0","b",2],["r1","a",3],["r1","b",4]],"rejected":[["r0","a"]],"truncated":false},"passed":true},{"actual":{"patches":[["r0","b",2],["r1","a",3]],"rejected":[["r0","a"]],"truncated":true},"check":"bounded patches","expected":{"patches":[["r0","b",2],["r1","a",3]],"rejected":[["r0","a"]],"truncated":true},"passed":true},{"actual":{"patches":[["r0","a",null],["r0","b"," x "],["r1","a",null]],"rejected":[],"truncated":false},"check":"ragged and whitespace","expected":{"patches":[["r0","a",0],["r0","b"," x "],["r1","a",""]],"rejected":[],"truncated":false},"passed":false},{"actual":{"patches":[["r1","b",1]],"rejected":[],"truncated":false},"check":"clipped edges","expected":{"patches":[["r1","b",1]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r0","a",1],["r0","d",2]],"rejected":[],"truncated":false},"check":"hidden internal","expected":{"patches":[["r0","a",1],["r0","d",2]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r0","a",1]],"rejected":[],"truncated":true},"check":"budget no locks","expected":{"patches":[["r0","a",1]],"rejected":[],"truncated":true},"passed":true},{"actual":{"patches":[],"rejected":[],"truncated":false},"check":"empty input","expected":{"patches":[],"rejected":[],"truncated":false},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"offset rectangular paste\", \"actual\": {\"patches\": [[\"r1\", \"b\", 1], [\"r1\", \"c\", 2], [\"r2\", \"b\", 3], [\"r2\", \"c\", 4]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r1\", \"b\", 1], [\"r1\", \"c\", 2], [\"r2\", \"b\", 3], [\"r2\", \"c\", 4]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"hidden targets\", \"actual\": {\"patches\": [[\"r0\", \"c\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"c\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"readonly holes\", \"actual\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3], [\"r1\", \"b\", 4]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3], [\"r1\", \"b\", 4]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": false}, \"passed\": true}, {\"check\": \"bounded patches\", \"actual\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": true}, \"expected\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": true}, \"passed\": true}, {\"check\": \"ragged and whitespace\", \"actual\": {\"patches\": [[\"r0\", \"a\", null], [\"r0\", \"b\", \" x \"], [\"r1\", \"a\", null]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"a\", 0], [\"r0\", \"b\", \" x \"], [\"r1\", \"a\", \"\"]], \"rejected\": [], \"truncated\": false}, \"passed\": false}, {\"check\": \"clipped edges\", \"actual\": {\"patches\": [[\"r1\", \"b\", 1]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r1\", \"b\", 1]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"hidden internal\", \"actual\": {\"patches\": [[\"r0\", \"a\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"a\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"budget no locks\", \"actual\": {\"patches\": [[\"r0\", \"a\", 1]], \"rejected\": [], \"truncated\": true}, \"expected\": {\"patches\": [[\"r0\", \"a\", 1]], \"rejected\": [], \"truncated\": true}, \"passed\": true}, {\"check\": \"empty input\", \"actual\": {\"patches\": [], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [], \"rejected\": [], \"truncated\": false}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.935,"exit_code":0,"observations":[{"actual":{"patches":[["r1","b",1],["r1","c",2],["r2","b",3],["r2","c",4]],"rejected":[],"truncated":false},"check":"offset rectangular paste","expected":{"patches":[["r1","b",1],["r1","c",2],["r2","b",3],["r2","c",4]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r0","c",1],["r0","d",2]],"rejected":[],"truncated":false},"check":"hidden targets","expected":{"patches":[["r0","c",1],["r0","d",2]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r0","b",2],["r1","a",3],["r1","b",4]],"rejected":[["r0","a"]],"truncated":false},"check":"readonly holes","expected":{"patches":[["r0","b",2],["r1","a",3],["r1","b",4]],"rejected":[["r0","a"]],"truncated":false},"passed":true},{"actual":{"patches":[["r0","b",2],["r1","a",3]],"rejected":[["r0","a"]],"truncated":true},"check":"bounded patches","expected":{"patches":[["r0","b",2],["r1","a",3]],"rejected":[["r0","a"]],"truncated":true},"passed":true},{"actual":{"patches":[["r0","a",0],["r0","b"," x "],["r1","a",""]],"rejected":[],"truncated":false},"check":"ragged and whitespace","expected":{"patches":[["r0","a",0],["r0","b"," x "],["r1","a",""]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r1","b",1]],"rejected":[],"truncated":false},"check":"clipped edges","expected":{"patches":[["r1","b",1]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r0","a",1],["r0","d",2]],"rejected":[],"truncated":false},"check":"hidden internal","expected":{"patches":[["r0","a",1],["r0","d",2]],"rejected":[],"truncated":false},"passed":true},{"actual":{"patches":[["r0","a",1]],"rejected":[],"truncated":true},"check":"budget no locks","expected":{"patches":[["r0","a",1]],"rejected":[],"truncated":true},"passed":true},{"actual":{"patches":[],"rejected":[],"truncated":false},"check":"empty input","expected":{"patches":[],"rejected":[],"truncated":false},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"offset rectangular paste\", \"actual\": {\"patches\": [[\"r1\", \"b\", 1], [\"r1\", \"c\", 2], [\"r2\", \"b\", 3], [\"r2\", \"c\", 4]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r1\", \"b\", 1], [\"r1\", \"c\", 2], [\"r2\", \"b\", 3], [\"r2\", \"c\", 4]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"hidden targets\", \"actual\": {\"patches\": [[\"r0\", \"c\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"c\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"readonly holes\", \"actual\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3], [\"r1\", \"b\", 4]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3], [\"r1\", \"b\", 4]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": false}, \"passed\": true}, {\"check\": \"bounded patches\", \"actual\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": true}, \"expected\": {\"patches\": [[\"r0\", \"b\", 2], [\"r1\", \"a\", 3]], \"rejected\": [[\"r0\", \"a\"]], \"truncated\": true}, \"passed\": true}, {\"check\": \"ragged and whitespace\", \"actual\": {\"patches\": [[\"r0\", \"a\", 0], [\"r0\", \"b\", \" x \"], [\"r1\", \"a\", \"\"]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"a\", 0], [\"r0\", \"b\", \" x \"], [\"r1\", \"a\", \"\"]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"clipped edges\", \"actual\": {\"patches\": [[\"r1\", \"b\", 1]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r1\", \"b\", 1]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"hidden internal\", \"actual\": {\"patches\": [[\"r0\", \"a\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [[\"r0\", \"a\", 1], [\"r0\", \"d\", 2]], \"rejected\": [], \"truncated\": false}, \"passed\": true}, {\"check\": \"budget no locks\", \"actual\": {\"patches\": [[\"r0\", \"a\", 1]], \"rejected\": [], \"truncated\": true}, \"expected\": {\"patches\": [[\"r0\", \"a\", 1]], \"rejected\": [], \"truncated\": true}, \"passed\": true}, {\"check\": \"empty input\", \"actual\": {\"patches\": [], \"rejected\": [], \"truncated\": false}, \"expected\": {\"patches\": [], \"rejected\": [], \"truncated\": false}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}