{"abstract":"Coordinates are scaled by several times their magnitude.","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 scale is interpreted as parts per billion.","family":"w2-map-projection-transforms-helmert-seven-parameter-ppm-scale","id":"FA-70326","implementations":{"attempt":{"sha256":"5a8ffe79fc6f35adaa5773dfd5d5c990f5d46b1d5b06e62ce177742d426a3b68","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-9\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":"bffbb3e95d57085d27e809be1765c33e3dee7374f27dfd7da86623d3bb6005de","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\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-ppm-scale","generated_at":"2026-09-29T14:48:19.797333+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 ppm scale step restore `m = 1 + s * 1e-6`, leaving the rest of the model unchanged.","root_cause":"The scale correction is used as a raw factor instead of parts per million.","sha256":"1b6499d75d5652793c0ac6e19e63f92d12d01ab726223812feffde0c068612c2","title":"Seven-parameter Helmert datum shift: ppm scale · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.943,"exit_code":1,"observations":[{"actual":[-5541224.893,-2232076.906,-6352832.848],"check":"control #0","expected":[-5541265.265,-2232093.171,-6352879.137],"passed":false},{"actual":[-4612667.796,853778.92,-297092.184],"check":"control #1","expected":[-4612646.31,853774.942,-297090.8],"passed":false},{"actual":[1975869.144,-227354.055,2770768.198],"check":"control #2","expected":[1975888.355,-227356.269,2770795.14],"passed":false},{"actual":[-189555.361,3352202.489,-2404404.189],"check":"control #3","expected":[-189556.8,3352227.961,-2404422.458],"passed":false},{"actual":[-6227872.872,-1104738.937,4388492.62],"check":"control #4","expected":[-6227853.253,-1104735.458,4388478.796],"passed":false},{"actual":[-2535522.852,-5957355.693,-4097224.797],"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\": [-5541224.893, -2232076.906, -6352832.848], \"expected\": [-5541265.265, -2232093.171, -6352879.137], \"passed\": false}, {\"check\": \"control #1\", \"actual\": [-4612667.796, 853778.92, -297092.184], \"expected\": [-4612646.31, 853774.942, -297090.8], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [1975869.144, -227354.055, 2770768.198], \"expected\": [1975888.355, -227356.269, 2770795.14], \"passed\": false}, {\"check\": \"control #3\", \"actual\": [-189555.361, 3352202.489, -2404404.189], \"expected\": [-189556.8, 3352227.961, -2404422.458], \"passed\": false}, {\"check\": \"control #4\", \"actual\": [-6227872.872, -1104738.937, 4388492.62], \"expected\": [-6227853.253, -1104735.458, 4388478.796], \"passed\": false}, {\"check\": \"control #5\", \"actual\": [-2535522.852, -5957355.693, -4097224.797], \"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":37.885,"exit_code":1,"observations":[{"actual":[-45953455.95,-18513126.237,-52687362.28],"check":"control #0","expected":[-5541265.265,-2232093.171,-6352879.137],"passed":false},{"actual":[16894523.915,-3128379.179,1089040.418],"check":"control #1","expected":[-4612646.31,853774.942,-297090.8],"passed":false},{"actual":[21205640.109,-2444299.745,29739721.441],"check":"control #2","expected":[1975888.355,-227356.269,2770795.14],"passed":false},{"actual":[-1630189.983,28849258.718,-20691845.746],"check":"control #3","expected":[-189556.8,3352227.961,-2404422.458],"passed":false},{"actual":[13410646.794,2378631.828,-9449646.234],"check":"control #4","expected":[-6227853.253,-1104735.458,4388478.796],"passed":false},{"actual":[-23319930.203,-54791079.893,-37686944.844],"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\": [-45953455.95, -18513126.237, -52687362.28], \"expected\": [-5541265.265, -2232093.171, -6352879.137], \"passed\": false}, {\"check\": \"control #1\", \"actual\": [16894523.915, -3128379.179, 1089040.418], \"expected\": [-4612646.31, 853774.942, -297090.8], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [21205640.109, -2444299.745, 29739721.441], \"expected\": [1975888.355, -227356.269, 2770795.14], \"passed\": false}, {\"check\": \"control #3\", \"actual\": [-1630189.983, 28849258.718, -20691845.746], \"expected\": [-189556.8, 3352227.961, -2404422.458], \"passed\": false}, {\"check\": \"control #4\", \"actual\": [13410646.794, 2378631.828, -9449646.234], \"expected\": [-6227853.253, -1104735.458, 4388478.796], \"passed\": false}, {\"check\": \"control #5\", \"actual\": [-23319930.203, -54791079.893, -37686944.844], \"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":39.502,"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"}