{"abstract":"A lower chaser appears to fall behind.","category":"Orbital propagation","checks":7,"contract":"Input [x0,y0,z0,vx0,vy0,vz0,n,t] with x radial, y along-track, z cross-track about a circular reference orbit of mean motion n. Return [x,y,z,vx,vy,vz] from the closed-form HCW solution, rounded to 6.","contract_signature":"x","evaluation_group":"w2-orbital_propagation-clohessy_wiltshire","failed_approach":"Dropping n gives an along-track velocity in position units.","family":"w2-orbital_propagation-clohessy_wiltshire-along-track-velocity","id":"FA-69766","implementations":{"attempt":{"sha256":"c558b6b6e363aaa795925c08ee693d687b6a90680006dad5c0fb0ef0f0f17244","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    x0,y0,z0,vx,vy,vz,n,t=x\n    s=math.sin(n*t); c=math.cos(n*t)\n    X=(4-3*c)*x0+s/n*vx+2/n*(1-c)*vy\n    Y=6*(s-n*t)*x0+y0-2/n*(1-c)*vx+(4*s-3*n*t)/n*vy\n    Z=c*z0+s/n*vz\n    VX=3*n*s*x0+c*vx+2*s*vy\n    VY=6*(c-1)*x0-2*s*vx+(4*c-3)*vy\n    VZ=-n*s*z0+c*vz\n    return [round(q,6) for q in (X,Y,Z,VX,VY,VZ)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]', [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0], [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563]), ('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]', [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0], [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0]), ('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], [('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]', [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0], [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0]), ('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), ('clohessy-wiltshire relative motion [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0]', [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0], [-0.571404, 9.834915, -0.062542, 0.000589, 0.000851, -0.000249]), ('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0])], [('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0]), ('clohessy-wiltshire relative motion [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0]', [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0], [-0.571404, 9.834915, -0.062542, 0.000589, 0.000851, -0.000249]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), ('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]', [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0], [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563]), ('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05])], [('clohessy-wiltshire relative motion [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0]', [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0], [-0.571404, 9.834915, -0.062542, 0.000589, 0.000851, -0.000249]), ('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]', [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0], [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563]), ('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]', [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0], [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0]), ('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0])], [('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]', [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0], [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0]), ('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), ('clohessy-wiltshire relative motion [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0]', [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0], [-0.571404, 9.834915, -0.062542, 0.000589, 0.000851, -0.000249]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.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":"b48eebf85f4952945e33ceb31bd8fad0916623daf8b58460acc4bbf4524b2b7c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    x0,y0,z0,vx,vy,vz,n,t=x\n    s=math.sin(n*t); c=math.cos(n*t)\n    X=(4-3*c)*x0+s/n*vx+2/n*(1-c)*vy\n    Y=6*(s-n*t)*x0+y0-2/n*(1-c)*vx+(4*s-3*n*t)/n*vy\n    Z=c*z0+s/n*vz\n    VX=3*n*s*x0+c*vx+2*s*vy\n    VY=6*n*(1-c)*x0-2*s*vx+(4*c-3)*vy\n    VZ=-n*s*z0+c*vz\n    return [round(q,6) for q in (X,Y,Z,VX,VY,VZ)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]', [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0], [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563]), ('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]', [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0], [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0]), ('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], [('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]', [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0], [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0]), ('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), ('clohessy-wiltshire relative motion [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0]', [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0], [-0.571404, 9.834915, -0.062542, 0.000589, 0.000851, -0.000249]), ('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0])], [('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0]), ('clohessy-wiltshire relative motion [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0]', [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0], [-0.571404, 9.834915, -0.062542, 0.000589, 0.000851, -0.000249]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), ('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]', [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0], [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563]), ('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05])], [('clohessy-wiltshire relative motion [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0]', [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0], [-0.571404, 9.834915, -0.062542, 0.000589, 0.000851, -0.000249]), ('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]', [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0], [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563]), ('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]', [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0], [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0]), ('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0])], [('clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]', [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0], [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0]), ('clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]', [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0], [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]', [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0], [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0]), ('clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]', [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0], [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0]), ('clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]', [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), ('clohessy-wiltshire relative motion [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0]', [-0.3, 2.0, -0.2, 0.0001, 0.0002, -0.0001, 0.0012, 4500.0], [-0.571404, 9.834915, -0.062542, 0.000589, 0.000851, -0.000249]), ('clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]', [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0], [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.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":"A deterministic toy two-body model with stipulated constants and conventions; not flight dynamics software or a validated SGP4 implementation. 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-orbital_propagation-clohessy_wiltshire-along-track-velocity","generated_at":"2026-09-29T14:48:14.502798+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Orbit determination and mission planning chain many small conversions; one wrong branch or unit silently moves a spacecraft by kilometres.","root_cause":"vy uses 6n(1-cos nt) x0.","sha256":"4f04177b8674d39a273af2eff87de0df64511db2d892c7a41872629c7e781c17","title":"Clohessy-Wiltshire relative motion: Radial offset drives along-track velocity with the wrong sign · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.559,"exit_code":1,"observations":[{"actual":[0.166351,-0.030458,0.0,0.000213,-0.132703,0.0],"check":"clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]","expected":[0.166351,-0.030458,0.0,0.000213,-0.00015,0.0],"passed":false},{"actual":[1.392658,0.858477,0.0,0.001954,-0.002147,0.0],"check":"clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]","expected":[1.392658,0.858477,0.0,0.001954,-0.002147,0.0],"passed":true},{"actual":[0.0,0.0,-0.181368,0.0,-0.0,-0.000563],"check":"clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]","expected":[0.0,0.0,-0.181368,0.0,-0.0,-0.000563],"passed":true},{"actual":[0.236705,-4.084008,-0.098748,-0.000503,-2.382733,1.7e-05],"check":"clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]","expected":[0.236705,-4.084008,-0.098748,-0.000503,-0.000381,1.7e-05],"passed":false},{"actual":[0.752685,-0.83908,0.0,0.000526,-0.001701,0.0],"check":"clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]","expected":[0.752685,-0.83908,0.0,0.000526,-0.001701,0.0],"passed":true},{"actual":[0.540302,-1.682942,0.0,-0.841471,-1.080605,0.0],"check":"clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]","expected":[0.540302,-1.682942,0.0,-0.841471,-1.080605,0.0],"passed":true},{"actual":[0.0,0.0,0.0,0.0,0.0,0.0],"check":"clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]","expected":[0.0,0.0,0.0,0.0,0.0,0.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]\", \"actual\": [0.166351, -0.030458, 0.0, 0.000213, -0.132703, 0.0], \"expected\": [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0], \"passed\": false}, {\"check\": \"clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]\", \"actual\": [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0], \"expected\": [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0], \"passed\": true}, {\"check\": \"clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]\", \"actual\": [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563], \"expected\": [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563], \"passed\": true}, {\"check\": \"clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]\", \"actual\": [0.236705, -4.084008, -0.098748, -0.000503, -2.382733, 1.7e-05], \"expected\": [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05], \"passed\": false}, {\"check\": \"clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]\", \"actual\": [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0], \"expected\": [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0], \"passed\": true}, {\"check\": \"clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]\", \"actual\": [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0], \"expected\": [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0], \"passed\": true}, {\"check\": \"clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]\", \"actual\": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \"expected\": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.798,"exit_code":1,"observations":[{"actual":[0.166351,-0.030458,0.0,0.000213,0.00015,0.0],"check":"clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]","expected":[0.166351,-0.030458,0.0,0.000213,-0.00015,0.0],"passed":false},{"actual":[1.392658,0.858477,0.0,0.001954,-0.002147,0.0],"check":"clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]","expected":[1.392658,0.858477,0.0,0.001954,-0.002147,0.0],"passed":true},{"actual":[0.0,0.0,-0.181368,0.0,0.0,-0.000563],"check":"clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]","expected":[0.0,0.0,-0.181368,0.0,-0.0,-0.000563],"passed":true},{"actual":[0.236705,-4.084008,-0.098748,-0.000503,0.004866,1.7e-05],"check":"clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]","expected":[0.236705,-4.084008,-0.098748,-0.000503,-0.000381,1.7e-05],"passed":false},{"actual":[0.752685,-0.83908,0.0,0.000526,-0.001701,0.0],"check":"clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]","expected":[0.752685,-0.83908,0.0,0.000526,-0.001701,0.0],"passed":true},{"actual":[0.540302,-1.682942,0.0,-0.841471,4.435768,0.0],"check":"clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]","expected":[0.540302,-1.682942,0.0,-0.841471,-1.080605,0.0],"passed":false},{"actual":[0.0,0.0,0.0,0.0,0.0,0.0],"check":"clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]","expected":[0.0,0.0,0.0,0.0,0.0,0.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"clohessy-wiltshire relative motion [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 600.0]\", \"actual\": [0.166351, -0.030458, 0.0, 0.000213, 0.00015, 0.0], \"expected\": [0.166351, -0.030458, 0.0, 0.000213, -0.00015, 0.0], \"passed\": false}, {\"check\": \"clohessy-wiltshire relative motion [0.0, 1.0, 0.0, 0.0, 0.001, 0.0, 0.00113, 1200.0]\", \"actual\": [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0], \"expected\": [1.392658, 0.858477, 0.0, 0.001954, -0.002147, 0.0], \"passed\": true}, {\"check\": \"clohessy-wiltshire relative motion [0.0, 0.0, 0.5, 0.0, 0.0, 0.0002, 0.00113, 2000.0]\", \"actual\": [0.0, 0.0, -0.181368, 0.0, 0.0, -0.000563], \"expected\": [0.0, 0.0, -0.181368, 0.0, -0.0, -0.000563], \"passed\": true}, {\"check\": \"clohessy-wiltshire relative motion [0.2, -1.0, 0.1, 0.0005, -0.0003, 0.0, 0.0011, 3000.0]\", \"actual\": [0.236705, -4.084008, -0.098748, -0.000503, 0.004866, 1.7e-05], \"expected\": [0.236705, -4.084008, -0.098748, -0.000503, -0.000381, 1.7e-05], \"passed\": false}, {\"check\": \"clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.00113, 900.0]\", \"actual\": [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0], \"expected\": [0.752685, -0.83908, 0.0, 0.000526, -0.001701, 0.0], \"passed\": true}, {\"check\": \"clohessy-wiltshire relative motion [1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0, 1.0]\", \"actual\": [0.540302, -1.682942, 0.0, -0.841471, 4.435768, 0.0], \"expected\": [0.540302, -1.682942, 0.0, -0.841471, -1.080605, 0.0], \"passed\": false}, {\"check\": \"clohessy-wiltshire relative motion [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00113, 500.0]\", \"actual\": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \"expected\": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}