{"abstract":"Durations near periapsis are too long.","category":"Orbital propagation","checks":7,"contract":"Input [a, e, nu1, nu2, mu] (degrees). Convert each true anomaly to eccentric anomaly with the half-angle atan2 form and to mean anomaly in [0,2pi); flight always proceeds forward, so dM=(M2-M1) mod 2pi. Return dM/n seconds rounded to 3 with n=sqrt(mu/a^3).","contract_signature":"x","evaluation_group":"w2-orbital_propagation-time_of_flight","failed_approach":"Dropping e from the sine term treats every orbit as e=1.","family":"w2-orbital_propagation-time_of_flight-kepler-sign","id":"FA-69716","implementations":{"attempt":{"sha256":"b8f5c7248a6c09174c30a5754791f9c8daa7dba94bd84d48c87f976dcb88a01a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    a,e,n1,n2,mu=x\n    def Ma(nu):\n        nu=math.radians(nu)\n        E=2*math.atan2(math.sqrt(1-e)*math.sin(nu/2),math.sqrt(1+e)*math.cos(nu/2))\n        return (E-math.sin(E))%(2*math.pi)\n    n=math.sqrt(mu/a**3)\n    dM=(Ma(n2)-Ma(n1))%(2*math.pi)\n    return round(dM/n,3)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]', [7000.0, 0.1, 0.0, 90.0, 398600.4418], 1271.911), ('elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]', [7000.0, 0.1, 270.0, 30.0, 398600.4418], 1670.595), ('elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]', [26560.0, 0.7, 10.0, 350.0, 398600.4418], 42774.887), ('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68), ('elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]', [1.0, 0.5, 45.0, 45.0, 1.0], 0.0), ('elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]', [1.0, 0.3, 300.0, 60.0, 1.0], 1.172), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142)], [('elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]', [7000.0, 0.1, 270.0, 30.0, 398600.4418], 1670.595), ('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68), ('elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]', [1.0, 0.5, 45.0, 45.0, 1.0], 0.0), ('elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]', [1.0, 0.3, 300.0, 60.0, 1.0], 1.172), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142), ('elliptic time of flight between anomalies [2.0, 0.9, 170.0, 190.0, 1.0]', [2.0, 0.9, 170.0, 190.0, 1.0], 7.512), ('elliptic time of flight between anomalies [2.0, 0.9, 350.0, 10.0, 1.0]', [2.0, 0.9, 350.0, 10.0, 1.0], 0.023)], [('elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]', [26560.0, 0.7, 10.0, 350.0, 398600.4418], 42774.887), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142), ('elliptic time of flight between anomalies [2.0, 0.9, 170.0, 190.0, 1.0]', [2.0, 0.9, 170.0, 190.0, 1.0], 7.512), ('elliptic time of flight between anomalies [2.0, 0.9, 350.0, 10.0, 1.0]', [2.0, 0.9, 350.0, 10.0, 1.0], 0.023), ('elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]', [7000.0, 0.1, 0.0, 90.0, 398600.4418], 1271.911), ('elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]', [7000.0, 0.1, 270.0, 30.0, 398600.4418], 1670.595), ('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68)], [('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68), ('elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]', [7000.0, 0.1, 0.0, 90.0, 398600.4418], 1271.911), ('elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]', [7000.0, 0.1, 270.0, 30.0, 398600.4418], 1670.595), ('elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]', [26560.0, 0.7, 10.0, 350.0, 398600.4418], 42774.887), ('elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]', [1.0, 0.5, 45.0, 45.0, 1.0], 0.0), ('elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]', [1.0, 0.3, 300.0, 60.0, 1.0], 1.172), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142)], [('elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]', [1.0, 0.3, 300.0, 60.0, 1.0], 1.172), ('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68), ('elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]', [1.0, 0.5, 45.0, 45.0, 1.0], 0.0), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142), ('elliptic time of flight between anomalies [2.0, 0.9, 170.0, 190.0, 1.0]', [2.0, 0.9, 170.0, 190.0, 1.0], 7.512), ('elliptic time of flight between anomalies [2.0, 0.9, 350.0, 10.0, 1.0]', [2.0, 0.9, 350.0, 10.0, 1.0], 0.023), ('elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]', [7000.0, 0.1, 0.0, 90.0, 398600.4418], 1271.911)]]\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":"8b34b67a19aedc8f6fc8a63ca4ee80a25e65982e3eefcab28a6bb633e50bb227","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    a,e,n1,n2,mu=x\n    def Ma(nu):\n        nu=math.radians(nu)\n        E=2*math.atan2(math.sqrt(1-e)*math.sin(nu/2),math.sqrt(1+e)*math.cos(nu/2))\n        return (E+e*math.sin(E))%(2*math.pi)\n    n=math.sqrt(mu/a**3)\n    dM=(Ma(n2)-Ma(n1))%(2*math.pi)\n    return round(dM/n,3)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]', [7000.0, 0.1, 0.0, 90.0, 398600.4418], 1271.911), ('elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]', [7000.0, 0.1, 270.0, 30.0, 398600.4418], 1670.595), ('elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]', [26560.0, 0.7, 10.0, 350.0, 398600.4418], 42774.887), ('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68), ('elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]', [1.0, 0.5, 45.0, 45.0, 1.0], 0.0), ('elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]', [1.0, 0.3, 300.0, 60.0, 1.0], 1.172), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142)], [('elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]', [7000.0, 0.1, 270.0, 30.0, 398600.4418], 1670.595), ('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68), ('elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]', [1.0, 0.5, 45.0, 45.0, 1.0], 0.0), ('elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]', [1.0, 0.3, 300.0, 60.0, 1.0], 1.172), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142), ('elliptic time of flight between anomalies [2.0, 0.9, 170.0, 190.0, 1.0]', [2.0, 0.9, 170.0, 190.0, 1.0], 7.512), ('elliptic time of flight between anomalies [2.0, 0.9, 350.0, 10.0, 1.0]', [2.0, 0.9, 350.0, 10.0, 1.0], 0.023)], [('elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]', [26560.0, 0.7, 10.0, 350.0, 398600.4418], 42774.887), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142), ('elliptic time of flight between anomalies [2.0, 0.9, 170.0, 190.0, 1.0]', [2.0, 0.9, 170.0, 190.0, 1.0], 7.512), ('elliptic time of flight between anomalies [2.0, 0.9, 350.0, 10.0, 1.0]', [2.0, 0.9, 350.0, 10.0, 1.0], 0.023), ('elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]', [7000.0, 0.1, 0.0, 90.0, 398600.4418], 1271.911), ('elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]', [7000.0, 0.1, 270.0, 30.0, 398600.4418], 1670.595), ('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68)], [('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68), ('elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]', [7000.0, 0.1, 0.0, 90.0, 398600.4418], 1271.911), ('elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]', [7000.0, 0.1, 270.0, 30.0, 398600.4418], 1670.595), ('elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]', [26560.0, 0.7, 10.0, 350.0, 398600.4418], 42774.887), ('elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]', [1.0, 0.5, 45.0, 45.0, 1.0], 0.0), ('elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]', [1.0, 0.3, 300.0, 60.0, 1.0], 1.172), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142)], [('elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]', [1.0, 0.3, 300.0, 60.0, 1.0], 1.172), ('elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]', [26560.0, 0.7, 180.0, 200.0, 398600.4418], 8874.68), ('elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]', [1.0, 0.5, 45.0, 45.0, 1.0], 0.0), ('elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]', [1.0, 0.0, 0.0, 180.0, 1.0], 3.142), ('elliptic time of flight between anomalies [2.0, 0.9, 170.0, 190.0, 1.0]', [2.0, 0.9, 170.0, 190.0, 1.0], 7.512), ('elliptic time of flight between anomalies [2.0, 0.9, 350.0, 10.0, 1.0]', [2.0, 0.9, 350.0, 10.0, 1.0], 0.023), ('elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]', [7000.0, 0.1, 0.0, 90.0, 398600.4418], 1271.911)]]\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-time_of_flight-kepler-sign","generated_at":"2026-09-29T14:48:13.911878+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":"M is computed as E + e sin E.","sha256":"7540968bd7139c35b1d76e1d59a8c530ca9e03613e135c3ce468b24ffb06b6b6","title":"Elliptic time of flight between anomalies: Mean anomaly adds the eccentric term · 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":39.647,"exit_code":1,"observations":[{"actual":441.223,"check":"elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]","expected":1271.911,"passed":false},{"actual":457.665,"check":"elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]","expected":1670.595,"passed":false},{"actual":43076.851,"check":"elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]","expected":42774.887,"passed":false},{"actual":10342.7,"check":"elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]","expected":8874.68,"passed":false},{"actual":0.0,"check":"elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]","expected":0.0,"passed":true},{"actual":0.166,"check":"elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]","expected":1.172,"passed":false},{"actual":3.142,"check":"elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]","expected":3.142,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]\", \"actual\": 441.223, \"expected\": 1271.911, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]\", \"actual\": 457.665, \"expected\": 1670.595, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]\", \"actual\": 43076.851, \"expected\": 42774.887, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]\", \"actual\": 10342.7, \"expected\": 8874.68, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]\", \"actual\": 0.0, \"expected\": 0.0, \"passed\": true}, {\"check\": \"elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]\", \"actual\": 0.166, \"expected\": 1.172, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]\", \"actual\": 3.142, \"expected\": 3.142, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.905,"exit_code":1,"observations":[{"actual":1456.509,"check":"elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]","expected":1271.911,"passed":false},{"actual":1940.135,"check":"elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]","expected":1670.595,"passed":false},{"actual":41365.718,"check":"elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]","expected":42774.887,"passed":false},{"actual":2023.92,"check":"elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]","expected":8874.68,"passed":false},{"actual":0.0,"check":"elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]","expected":0.0,"passed":true},{"actual":2.034,"check":"elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]","expected":1.172,"passed":false},{"actual":3.142,"check":"elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]","expected":3.142,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"elliptic time of flight between anomalies [7000.0, 0.1, 0.0, 90.0, 398600.4418]\", \"actual\": 1456.509, \"expected\": 1271.911, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [7000.0, 0.1, 270.0, 30.0, 398600.4418]\", \"actual\": 1940.135, \"expected\": 1670.595, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [26560.0, 0.7, 10.0, 350.0, 398600.4418]\", \"actual\": 41365.718, \"expected\": 42774.887, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [26560.0, 0.7, 180.0, 200.0, 398600.4418]\", \"actual\": 2023.92, \"expected\": 8874.68, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [1.0, 0.5, 45.0, 45.0, 1.0]\", \"actual\": 0.0, \"expected\": 0.0, \"passed\": true}, {\"check\": \"elliptic time of flight between anomalies [1.0, 0.3, 300.0, 60.0, 1.0]\", \"actual\": 2.034, \"expected\": 1.172, \"passed\": false}, {\"check\": \"elliptic time of flight between anomalies [1.0, 0.0, 0.0, 180.0, 1.0]\", \"actual\": 3.142, \"expected\": 3.142, \"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."}}