{"abstract":"Tiny rotations shift coordinates by thousands of kilometres.","category":"Map projection transforms","checks":8,"contract":"Input [X, Y, Z, tx, ty, tz, rx, ry, rz, s, convention] with metres, rotations in arc-seconds and scale in ppm. Rotations are converted to radians; for \"coordinate_frame\" they are negated, for \"position_vector\" used as is. m = 1 + s*1e-6. X' = tx + m(X - rz Y + ry Z); Y' = ty + m(rz X + Y - rx Z); Z' = tz + m(-ry X + rx Y + Z). Return [X', Y', Z'] rounded to 3 decimals.","evaluation_group":"w2-map-projection-transforms-helmert-seven-parameter","failed_approach":"The conversion treats the rotations as arc-minutes.","family":"w2-map-projection-transforms-helmert-seven-parameter-arc-second-conversion","id":"FA-70311","implementations":{"attempt":{"sha256":"de217f54c8b4156e1e07aeb824ecc0339a9e5c0a1a68d2d690a6a63e81fd6a9c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    X, Y, Z, tx, ty, tz, rx, ry, rz, s, conv = x\n    k = math.pi / (180 * 60)\n    rx, ry, rz = rx * k, ry * k, rz * k\n    if conv == 'coordinate_frame':\n        rx, ry, rz = -rx, -ry, -rz\n    m = 1 + s * 1e-6\n    Xo = tx + m * (X - rz * Y + ry * Z)\n    Yo = ty + m * (rz * X + Y - rx * Z)\n    Zo = tz + m * (-ry * X + rx * Y + Z)\n    return [round(Xo, 3), round(Yo, 3), round(Zo, 3)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-5541091.088, -2232325.705, -6352955.267, -217.202, 252.693, 193.877, -0.3013, 2.5369, -0.4898, 7.2933, 'coordinate_frame'], [-5541265.265, -2232093.171, -6352879.137]), ('control #1', [-4612717.254, 854010.104, -297229.761, 35.767, -284.925, 195.294, -3.1116, -2.0049, -2.6038, -4.6626, 'position_vector'], [-4612646.31, 853774.942, -297090.8]), ('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #1', [-4612717.254, 854010.104, -297229.761, 35.767, -284.925, 195.294, -3.1116, -2.0049, -2.6038, -4.6626, 'position_vector'], [-4612646.31, 853774.942, -297090.8]), ('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('control #6', [3627823.551, 5819563.217, -5921733.519, 228.087, -10.934, -497.542, -2.8114, -0.0659, -0.388, 7.4115, 'coordinate_frame'], [3628065.687, 5819682.953, -5922196.787]), ('control #7', [-1973240.205, 3874957.505, 5178356.07, -328.689, -442.829, -41.798, -4.7714, -2.8648, -4.9782, -2.8322, 'position_vector'], [-1973541.705, 3874671.113, 5178182.563]), ('control #8', [3575522.137, 5452586.84, 1656910.978, 298.786, 393.9, -294.606, 0.0728, 4.841, -0.7608, 8.8812, 'position_vector'], [3575911.678, 5453015.392, 1656549.094]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #8', [3575522.137, 5452586.84, 1656910.978, 298.786, 393.9, -294.606, 0.0728, 4.841, -0.7608, 8.8812, 'position_vector'], [3575911.678, 5453015.392, 1656549.094]), ('control #9', [-1240296.101, -552884.937, -952528.764, -360.154, 285.951, 384.058, -2.5191, -3.2475, 0.9833, 0.1835, 'position_vector'], [-1240638.85, -552616.633, -952157.656]), ('control #10', [1307969.679, 563540.708, -1431729.813, -333.759, -148.113, 140.284, -1.8868, 2.9579, 1.9314, -9.4043, 'position_vector'], [1307597.811, 563386.446, -1431599.976]), ('control #11', [-3904352.966, -2722509.047, -2822388.255, 181.432, 495.341, 160.587, -1.285, -3.3165, -0.7058, 5.5208, 'position_vector'], [-3904157.024, -2722032.96, -2822289.067]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #11', [-3904352.966, -2722509.047, -2822388.255, 181.432, 495.341, 160.587, -1.285, -3.3165, -0.7058, 5.5208, 'position_vector'], [-3904157.024, -2722032.96, -2822289.067]), ('control #12', [2647634.641, -1578921.141, -5093066.149, -355.392, 203.405, 165.947, 0.2987, -4.1705, -3.9905, -0.2744, 'position_vector'], [2647350.953, -1578761.15, -5092847.558]), ('control #13', [-3520096.56, -3120177.457, -123254.85, 462.196, 402.077, 308.458, 1.3023, 3.5694, 0.8414, 8.6398, 'position_vector'], [-3519654.182, -3119815.919, -122906.241]), ('control #14', [-6389654.874, -3984093.2, -3011962.836, 356.165, -201.583, 189.984, 2.6426, 1.938, -0.6636, -3.7122, 'coordinate_frame'], [-6389233.872, -3984339.138, -3011770.663]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('control #14', [-6389654.874, -3984093.2, -3011962.836, 356.165, -201.583, 189.984, 2.6426, 1.938, -0.6636, -3.7122, 'coordinate_frame'], [-6389233.872, -3984339.138, -3011770.663]), ('control #15', [4550537.139, 2792317.331, 1441981.13, 76.583, -265.303, -460.556, -0.538, -4.9358, -3.9263, 0.893, 'coordinate_frame'], [4550599.139, 2792137.381, 1441420.253]), ('control #16', [6034311.204, -4464484.503, 922428.188, 291.409, -257.511, -47.177, 0.8272, -3.8801, -0.5275, 8.0745, 'position_vector'], [6034622.567, -4464797.194, 922484.069]), ('control #17', [5230974.683, -6230904.331, 2167328.689, 237.623, -185.552, -261.576, 1.7677, -1.5195, 4.1454, -3.6432, 'coordinate_frame'], [5231083.99, -6231153.737, 2167074.081]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"8255888537d12ac0de7dea0069dec014b93714033a1b8cadb007d57205a4100b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    X, Y, Z, tx, ty, tz, rx, ry, rz, s, conv = x\n    k = math.pi / 180\n    rx, ry, rz = rx * k, ry * k, rz * k\n    if conv == 'coordinate_frame':\n        rx, ry, rz = -rx, -ry, -rz\n    m = 1 + s * 1e-6\n    Xo = tx + m * (X - rz * Y + ry * Z)\n    Yo = ty + m * (rz * X + Y - rx * Z)\n    Zo = tz + m * (-ry * X + rx * Y + Z)\n    return [round(Xo, 3), round(Yo, 3), round(Zo, 3)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-5541091.088, -2232325.705, -6352955.267, -217.202, 252.693, 193.877, -0.3013, 2.5369, -0.4898, 7.2933, 'coordinate_frame'], [-5541265.265, -2232093.171, -6352879.137]), ('control #1', [-4612717.254, 854010.104, -297229.761, 35.767, -284.925, 195.294, -3.1116, -2.0049, -2.6038, -4.6626, 'position_vector'], [-4612646.31, 853774.942, -297090.8]), ('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #1', [-4612717.254, 854010.104, -297229.761, 35.767, -284.925, 195.294, -3.1116, -2.0049, -2.6038, -4.6626, 'position_vector'], [-4612646.31, 853774.942, -297090.8]), ('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('control #6', [3627823.551, 5819563.217, -5921733.519, 228.087, -10.934, -497.542, -2.8114, -0.0659, -0.388, 7.4115, 'coordinate_frame'], [3628065.687, 5819682.953, -5922196.787]), ('control #7', [-1973240.205, 3874957.505, 5178356.07, -328.689, -442.829, -41.798, -4.7714, -2.8648, -4.9782, -2.8322, 'position_vector'], [-1973541.705, 3874671.113, 5178182.563]), ('control #8', [3575522.137, 5452586.84, 1656910.978, 298.786, 393.9, -294.606, 0.0728, 4.841, -0.7608, 8.8812, 'position_vector'], [3575911.678, 5453015.392, 1656549.094]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #8', [3575522.137, 5452586.84, 1656910.978, 298.786, 393.9, -294.606, 0.0728, 4.841, -0.7608, 8.8812, 'position_vector'], [3575911.678, 5453015.392, 1656549.094]), ('control #9', [-1240296.101, -552884.937, -952528.764, -360.154, 285.951, 384.058, -2.5191, -3.2475, 0.9833, 0.1835, 'position_vector'], [-1240638.85, -552616.633, -952157.656]), ('control #10', [1307969.679, 563540.708, -1431729.813, -333.759, -148.113, 140.284, -1.8868, 2.9579, 1.9314, -9.4043, 'position_vector'], [1307597.811, 563386.446, -1431599.976]), ('control #11', [-3904352.966, -2722509.047, -2822388.255, 181.432, 495.341, 160.587, -1.285, -3.3165, -0.7058, 5.5208, 'position_vector'], [-3904157.024, -2722032.96, -2822289.067]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #11', [-3904352.966, -2722509.047, -2822388.255, 181.432, 495.341, 160.587, -1.285, -3.3165, -0.7058, 5.5208, 'position_vector'], [-3904157.024, -2722032.96, -2822289.067]), ('control #12', [2647634.641, -1578921.141, -5093066.149, -355.392, 203.405, 165.947, 0.2987, -4.1705, -3.9905, -0.2744, 'position_vector'], [2647350.953, -1578761.15, -5092847.558]), ('control #13', [-3520096.56, -3120177.457, -123254.85, 462.196, 402.077, 308.458, 1.3023, 3.5694, 0.8414, 8.6398, 'position_vector'], [-3519654.182, -3119815.919, -122906.241]), ('control #14', [-6389654.874, -3984093.2, -3011962.836, 356.165, -201.583, 189.984, 2.6426, 1.938, -0.6636, -3.7122, 'coordinate_frame'], [-6389233.872, -3984339.138, -3011770.663]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('control #14', [-6389654.874, -3984093.2, -3011962.836, 356.165, -201.583, 189.984, 2.6426, 1.938, -0.6636, -3.7122, 'coordinate_frame'], [-6389233.872, -3984339.138, -3011770.663]), ('control #15', [4550537.139, 2792317.331, 1441981.13, 76.583, -265.303, -460.556, -0.538, -4.9358, -3.9263, 0.893, 'coordinate_frame'], [4550599.139, 2792137.381, 1441420.253]), ('control #16', [6034311.204, -4464484.503, 922428.188, 291.409, -257.511, -47.177, 0.8272, -3.8801, -0.5275, 8.0745, 'position_vector'], [6034622.567, -4464797.194, 922484.069]), ('control #17', [5230974.683, -6230904.331, 2167328.689, 237.623, -185.552, -261.576, 1.7677, -1.5195, 4.1454, -3.6432, 'coordinate_frame'], [5231083.99, -6231153.737, 2167074.081]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"def62b8d34700dfa1d8d5eadb39456634be941cd6e1f990aab07eaf1793970e8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    X, Y, Z, tx, ty, tz, rx, ry, rz, s, conv = x\n    k = math.pi / (180 * 3600)\n    rx, ry, rz = rx * k, ry * k, rz * k\n    if conv == 'coordinate_frame':\n        rx, ry, rz = -rx, -ry, -rz\n    m = 1 + s * 1e-6\n    Xo = tx + m * (X - rz * Y + ry * Z)\n    Yo = ty + m * (rz * X + Y - rx * Z)\n    Zo = tz + m * (-ry * X + rx * Y + Z)\n    return [round(Xo, 3), round(Yo, 3), round(Zo, 3)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [-5541091.088, -2232325.705, -6352955.267, -217.202, 252.693, 193.877, -0.3013, 2.5369, -0.4898, 7.2933, 'coordinate_frame'], [-5541265.265, -2232093.171, -6352879.137]), ('control #1', [-4612717.254, 854010.104, -297229.761, 35.767, -284.925, 195.294, -3.1116, -2.0049, -2.6038, -4.6626, 'position_vector'], [-4612646.31, 853774.942, -297090.8]), ('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #1', [-4612717.254, 854010.104, -297229.761, 35.767, -284.925, 195.294, -3.1116, -2.0049, -2.6038, -4.6626, 'position_vector'], [-4612646.31, 853774.942, -297090.8]), ('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('control #6', [3627823.551, 5819563.217, -5921733.519, 228.087, -10.934, -497.542, -2.8114, -0.0659, -0.388, 7.4115, 'coordinate_frame'], [3628065.687, 5819682.953, -5922196.787]), ('control #7', [-1973240.205, 3874957.505, 5178356.07, -328.689, -442.829, -41.798, -4.7714, -2.8648, -4.9782, -2.8322, 'position_vector'], [-1973541.705, 3874671.113, 5178182.563]), ('control #8', [3575522.137, 5452586.84, 1656910.978, 298.786, 393.9, -294.606, 0.0728, 4.841, -0.7608, 8.8812, 'position_vector'], [3575911.678, 5453015.392, 1656549.094]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #2', [1975468.993, -227743.085, 2770505.24, 403.916, 391.722, 260.454, 2.194, 0.0057, 3.3578, 9.7343, 'coordinate_frame'], [1975888.355, -227356.269, 2770795.14]), ('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #8', [3575522.137, 5452586.84, 1656910.978, 298.786, 393.9, -294.606, 0.0728, 4.841, -0.7608, 8.8812, 'position_vector'], [3575911.678, 5453015.392, 1656549.094]), ('control #9', [-1240296.101, -552884.937, -952528.764, -360.154, 285.951, 384.058, -2.5191, -3.2475, 0.9833, 0.1835, 'position_vector'], [-1240638.85, -552616.633, -952157.656]), ('control #10', [1307969.679, 563540.708, -1431729.813, -333.759, -148.113, 140.284, -1.8868, 2.9579, 1.9314, -9.4043, 'position_vector'], [1307597.811, 563386.446, -1431599.976]), ('control #11', [-3904352.966, -2722509.047, -2822388.255, 181.432, 495.341, 160.587, -1.285, -3.3165, -0.7058, 5.5208, 'position_vector'], [-3904157.024, -2722032.96, -2822289.067]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #3', [-189321.127, 3352090.605, -2404357.859, -152.685, 61.282, -123.245, -4.7005, -0.5925, -4.5929, 7.6062, 'coordinate_frame'], [-189556.8, 3352227.961, -2404422.458]), ('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #11', [-3904352.966, -2722509.047, -2822388.255, 181.432, 495.341, 160.587, -1.285, -3.3165, -0.7058, 5.5208, 'position_vector'], [-3904157.024, -2722032.96, -2822289.067]), ('control #12', [2647634.641, -1578921.141, -5093066.149, -355.392, 203.405, 165.947, 0.2987, -4.1705, -3.9905, -0.2744, 'position_vector'], [2647350.953, -1578761.15, -5092847.558]), ('control #13', [-3520096.56, -3120177.457, -123254.85, 462.196, 402.077, 308.458, 1.3023, 3.5694, 0.8414, 8.6398, 'position_vector'], [-3519654.182, -3119815.919, -122906.241]), ('control #14', [-6389654.874, -3984093.2, -3011962.836, 356.165, -201.583, 189.984, 2.6426, 1.938, -0.6636, -3.7122, 'coordinate_frame'], [-6389233.872, -3984339.138, -3011770.663]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])], [('control #4', [-6228293.209, -1104665.934, 4388800.498, 448.343, 5.84, -248.246, 0.9162, -1.8119, 1.9656, -3.1531, 'position_vector'], [-6227853.253, -1104735.458, 4388478.796]), ('control #5', [-2535544.339, -5957215.045, -4097405.578, -66.0, -207.215, 331.819, 3.4107, -4.2707, 0.0925, 8.1975, 'position_vector'], [-2535543.615, -5957404.478, -4097258.353]), ('control #14', [-6389654.874, -3984093.2, -3011962.836, 356.165, -201.583, 189.984, 2.6426, 1.938, -0.6636, -3.7122, 'coordinate_frame'], [-6389233.872, -3984339.138, -3011770.663]), ('control #15', [4550537.139, 2792317.331, 1441981.13, 76.583, -265.303, -460.556, -0.538, -4.9358, -3.9263, 0.893, 'coordinate_frame'], [4550599.139, 2792137.381, 1441420.253]), ('control #16', [6034311.204, -4464484.503, 922428.188, 291.409, -257.511, -47.177, 0.8272, -3.8801, -0.5275, 8.0745, 'position_vector'], [6034622.567, -4464797.194, 922484.069]), ('control #17', [5230974.683, -6230904.331, 2167328.689, 237.623, -185.552, -261.576, 1.7677, -1.5195, 4.1454, -3.6432, 'coordinate_frame'], [5231083.99, -6231153.737, 2167074.081]), ('boundary #22', [4027894.006, 307045.6, 4919474.91, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 'coordinate_frame'], [4027894.006, 307045.6, 4919474.91]), ('boundary #25', [1000.0, 2000.0, 3000.0, 1.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 'position_vector'], [1001.0, 2002.0, 3003.0])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated deterministic toy contract on a bounded input domain; results are rounded as stated and no conformance with any published standard or library 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":"w2-map-projection-transforms-helmert-seven-parameter-arc-second-conversion","generated_at":"2026-09-29T14:48:19.729579+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Datum transformations between national and global frames use these seven parameters; convention and unit slips cause metre-level offsets that pass casual inspection.","repair":"At the arc-second conversion step restore `k = math.pi / (180 * 3600)`, leaving the rest of the model unchanged.","root_cause":"Rotation parameters are converted as degrees rather than arc-seconds.","sha256":"37df34a5af857326d1dac0a57ebe1117a9d211496fd57bc665acc158cbb7a484","title":"Seven-parameter Helmert datum shift: arc-second conversion · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.778,"exit_code":1,"observations":[{"actual":[-5536342.421,-2232321.971,-6357092.479],"check":"control #0","expected":[-5541265.265,-2232093.171,-6352879.137],"passed":false},{"actual":[-4611839.799,856945.891,-300496.198],"check":"control #1","expected":[-4612646.31,853774.942,-297090.8],"passed":false},{"actual":[1975665.096,-227514.949,2770941.287],"check":"control #2","expected":[1975888.355,-227356.269,2770795.14],"passed":false},{"actual":[-194368.145,3355211.997,-2399883.347],"check":"control #3","expected":[-189556.8,3352227.961,-2404422.458],"passed":false},{"actual":[-6229506.77,-1109387.413,4384961.332],"check":"control #4","expected":[-6227853.253,-1104735.458,4388478.796],"passed":false},{"actual":[-2530380.598,-5953474.117,-4106167.665],"check":"control #5","expected":[-2535543.615,-5957404.478,-4097258.353],"passed":false},{"actual":[4027894.006,307045.6,4919474.91],"check":"boundary #22","expected":[4027894.006,307045.6,4919474.91],"passed":true},{"actual":[1001.0,2002.0,3003.0],"check":"boundary #25","expected":[1001.0,2002.0,3003.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [-5536342.421, -2232321.971, -6357092.479], \"expected\": [-5541265.265, -2232093.171, -6352879.137], \"passed\": false}, {\"check\": \"control #1\", \"actual\": [-4611839.799, 856945.891, -300496.198], \"expected\": [-4612646.31, 853774.942, -297090.8], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [1975665.096, -227514.949, 2770941.287], \"expected\": [1975888.355, -227356.269, 2770795.14], \"passed\": false}, {\"check\": \"control #3\", \"actual\": [-194368.145, 3355211.997, -2399883.347], \"expected\": [-189556.8, 3352227.961, -2404422.458], \"passed\": false}, {\"check\": \"control #4\", \"actual\": [-6229506.77, -1109387.413, 4384961.332], \"expected\": [-6227853.253, -1104735.458, 4388478.796], \"passed\": false}, {\"check\": \"control #5\", \"actual\": [-2530380.598, -5953474.117, -4106167.665], \"expected\": [-2535543.615, -5957404.478, -4097258.353], \"passed\": false}, {\"check\": \"boundary #22\", \"actual\": [4027894.006, 307045.6, 4919474.91], \"expected\": [4027894.006, 307045.6, 4919474.91], \"passed\": true}, {\"check\": \"boundary #25\", \"actual\": [1001.0, 2002.0, 3003.0], \"expected\": [1001.0, 2002.0, 3003.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.829,"exit_code":1,"observations":[{"actual":[-5240971.764,-2246049.952,-6609892.997],"check":"control #0","expected":[-5541265.265,-2232093.171,-6352879.137],"passed":false},{"actual":[-4563449.125,1047202.837,-504820.099],"check":"control #1","expected":[-4612646.31,853774.942,-297090.8],"passed":false},{"actual":[1962269.579,-237035.736,2779710.134],"check":"control #2","expected":[1975888.355,-227356.269,2770795.14],"passed":false},{"actual":[-483048.829,3534254.154,-2127536.665],"check":"control #3","expected":[-189556.8,3352227.961,-2404422.458],"passed":false},{"actual":[-6328717.79,-1388504.758,4173913.519],"check":"control #4","expected":[-6227853.253,-1104735.458,4388478.796],"passed":false},{"actual":[-2220599.537,-5717652.453,-4640726.409],"check":"control #5","expected":[-2535543.615,-5957404.478,-4097258.353],"passed":false},{"actual":[4027894.006,307045.6,4919474.91],"check":"boundary #22","expected":[4027894.006,307045.6,4919474.91],"passed":true},{"actual":[1001.0,2002.0,3003.0],"check":"boundary #25","expected":[1001.0,2002.0,3003.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [-5240971.764, -2246049.952, -6609892.997], \"expected\": [-5541265.265, -2232093.171, -6352879.137], \"passed\": false}, {\"check\": \"control #1\", \"actual\": [-4563449.125, 1047202.837, -504820.099], \"expected\": [-4612646.31, 853774.942, -297090.8], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [1962269.579, -237035.736, 2779710.134], \"expected\": [1975888.355, -227356.269, 2770795.14], \"passed\": false}, {\"check\": \"control #3\", \"actual\": [-483048.829, 3534254.154, -2127536.665], \"expected\": [-189556.8, 3352227.961, -2404422.458], \"passed\": false}, {\"check\": \"control #4\", \"actual\": [-6328717.79, -1388504.758, 4173913.519], \"expected\": [-6227853.253, -1104735.458, 4388478.796], \"passed\": false}, {\"check\": \"control #5\", \"actual\": [-2220599.537, -5717652.453, -4640726.409], \"expected\": [-2535543.615, -5957404.478, -4097258.353], \"passed\": false}, {\"check\": \"boundary #22\", \"actual\": [4027894.006, 307045.6, 4919474.91], \"expected\": [4027894.006, 307045.6, 4919474.91], \"passed\": true}, {\"check\": \"boundary #25\", \"actual\": [1001.0, 2002.0, 3003.0], \"expected\": [1001.0, 2002.0, 3003.0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.932,"exit_code":0,"observations":[{"actual":[-5541265.265,-2232093.171,-6352879.137],"check":"control #0","expected":[-5541265.265,-2232093.171,-6352879.137],"passed":true},{"actual":[-4612646.31,853774.942,-297090.8],"check":"control #1","expected":[-4612646.31,853774.942,-297090.8],"passed":true},{"actual":[1975888.355,-227356.269,2770795.14],"check":"control #2","expected":[1975888.355,-227356.269,2770795.14],"passed":true},{"actual":[-189556.8,3352227.961,-2404422.458],"check":"control #3","expected":[-189556.8,3352227.961,-2404422.458],"passed":true},{"actual":[-6227853.253,-1104735.458,4388478.796],"check":"control #4","expected":[-6227853.253,-1104735.458,4388478.796],"passed":true},{"actual":[-2535543.615,-5957404.478,-4097258.353],"check":"control #5","expected":[-2535543.615,-5957404.478,-4097258.353],"passed":true},{"actual":[4027894.006,307045.6,4919474.91],"check":"boundary #22","expected":[4027894.006,307045.6,4919474.91],"passed":true},{"actual":[1001.0,2002.0,3003.0],"check":"boundary #25","expected":[1001.0,2002.0,3003.0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [-5541265.265, -2232093.171, -6352879.137], \"expected\": [-5541265.265, -2232093.171, -6352879.137], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [-4612646.31, 853774.942, -297090.8], \"expected\": [-4612646.31, 853774.942, -297090.8], \"passed\": true}, {\"check\": \"control #2\", \"actual\": [1975888.355, -227356.269, 2770795.14], \"expected\": [1975888.355, -227356.269, 2770795.14], \"passed\": true}, {\"check\": \"control #3\", \"actual\": [-189556.8, 3352227.961, -2404422.458], \"expected\": [-189556.8, 3352227.961, -2404422.458], \"passed\": true}, {\"check\": \"control #4\", \"actual\": [-6227853.253, -1104735.458, 4388478.796], \"expected\": [-6227853.253, -1104735.458, 4388478.796], \"passed\": true}, {\"check\": \"control #5\", \"actual\": [-2535543.615, -5957404.478, -4097258.353], \"expected\": [-2535543.615, -5957404.478, -4097258.353], \"passed\": true}, {\"check\": \"boundary #22\", \"actual\": [4027894.006, 307045.6, 4919474.91], \"expected\": [4027894.006, 307045.6, 4919474.91], \"passed\": true}, {\"check\": \"boundary #25\", \"actual\": [1001.0, 2002.0, 3003.0], \"expected\": [1001.0, 2002.0, 3003.0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}