{"abstract":"The adapter reports an incorrect eclipse phase while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"A folded-orbit coordinate has period P>0, elapsed time t from periastron, and phase offset q in cycles. Phase is fractional cycle, cycle index is floor quotient, mean anomaly is phase times a full turn, and eclipse phase offsets are explicit. No orbital dynamics is solved. Output fields are defined by: phase = (d['t']/d['P']+d['q'])%1; cycle_index = int((d['t']/d['P']+d['q'])//1); mean_anomaly = 360*((d['t']/d['P']+d['q'])%1); phase_zero_epoch = d['epoch']-d['q']*d['P']; eclipse_phase = ((d['t']/d['P']+d['q'])-d['eclipse'])%1; phase_rate = 1/d['P']","evaluation_group":"astro-orbital-phase-labels","failed_approach":"A partial convention repair still uses (d['t']/d['P']-d['eclipse'])%1","family":"s3-astronomical-coordinate-conventions-orbital-phase-labels-eclipse_phase","id":"FA-55401","implementations":{"attempt":{"sha256":"f2b52bdb99a79b81023272572ea600dbd8d3bc65bb4f195e60e6fab4c2cd9e45","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'phase': (d['t']/d['P']+d['q'])%1, 'cycle_index': int((d['t']/d['P']+d['q'])//1), 'mean_anomaly': 360*((d['t']/d['P']+d['q'])%1), 'phase_zero_epoch': d['epoch']-d['q']*d['P'], 'eclipse_phase': (d['t']/d['P']-d['eclipse'])%1, 'phase_rate': 1/d['P']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'t': 17, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.95, 'cycle_index': 1, 'mean_anomaly': 342.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.44999999999999996, 'phase_rate': 0.1}), ({'t': 0, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 0, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': -21, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.1499999999999999, 'cycle_index': -2, 'mean_anomaly': 53.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.6499999999999999, 'phase_rate': 0.1}), ({'t': 17, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.7, 'cycle_index': 1, 'mean_anomaly': 251.99999999999997, 'phase_zero_epoch': 100, 'eclipse_phase': 0.19999999999999996, 'phase_rate': 0.1}), ({'t': 10, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 2, 'mean_anomaly': 270.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.25, 'phase_rate': 0.25}), ({'t': 17, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.44999999999999996, 'cycle_index': 1, 'mean_anomaly': 161.99999999999997, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.19999999999999996, 'phase_rate': 0.1})], 2: [({'t': 18, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.04999999999999982, 'cycle_index': 2, 'mean_anomaly': 17.999999999999936, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.5499999999999998, 'phase_rate': 0.1}), ({'t': 1, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.35, 'cycle_index': 0, 'mean_anomaly': 125.99999999999999, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.85, 'phase_rate': 0.1}), ({'t': -20, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': -2, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': 18, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.8, 'cycle_index': 1, 'mean_anomaly': 288.0, 'phase_zero_epoch': 100, 'eclipse_phase': 0.30000000000000004, 'phase_rate': 0.1}), ({'t': 11, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.0, 'cycle_index': 3, 'mean_anomaly': 0.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.5, 'phase_rate': 0.25}), ({'t': 18, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.55, 'cycle_index': 1, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.30000000000000004, 'phase_rate': 0.1})], 3: [({'t': 19, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.1499999999999999, 'cycle_index': 2, 'mean_anomaly': 53.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.6499999999999999, 'phase_rate': 0.1}), ({'t': 2, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.45, 'cycle_index': 0, 'mean_anomaly': 162.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.95, 'phase_rate': 0.1}), ({'t': -19, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.3500000000000001, 'cycle_index': -2, 'mean_anomaly': 126.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.8500000000000001, 'phase_rate': 0.1}), ({'t': 19, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.8999999999999999, 'cycle_index': 1, 'mean_anomaly': 323.99999999999994, 'phase_zero_epoch': 100, 'eclipse_phase': 0.3999999999999999, 'phase_rate': 0.1}), ({'t': 12, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 3, 'mean_anomaly': 90.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.75, 'phase_rate': 0.25}), ({'t': 19, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.6499999999999999, 'cycle_index': 1, 'mean_anomaly': 233.99999999999997, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.3999999999999999, 'phase_rate': 0.1})], 4: [({'t': 20, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 2, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': 3, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.55, 'cycle_index': 0, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.050000000000000044, 'phase_rate': 0.1}), ({'t': -18, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.44999999999999996, 'cycle_index': -2, 'mean_anomaly': 161.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.9500000000000002, 'phase_rate': 0.1}), ({'t': 20, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.0, 'cycle_index': 2, 'mean_anomaly': 0.0, 'phase_zero_epoch': 100, 'eclipse_phase': 0.5, 'phase_rate': 0.1}), ({'t': 13, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.5, 'cycle_index': 3, 'mean_anomaly': 180.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.0, 'phase_rate': 0.25}), ({'t': 20, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 1, 'mean_anomaly': 270.0, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.5, 'phase_rate': 0.1})], 5: [({'t': 21, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.3500000000000001, 'cycle_index': 2, 'mean_anomaly': 126.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.8500000000000001, 'phase_rate': 0.1}), ({'t': 4, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.65, 'cycle_index': 0, 'mean_anomaly': 234.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.15000000000000002, 'phase_rate': 0.1}), ({'t': -17, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.55, 'cycle_index': -2, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.050000000000000044, 'phase_rate': 0.1}), ({'t': 21, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.10000000000000009, 'cycle_index': 2, 'mean_anomaly': 36.00000000000003, 'phase_zero_epoch': 100, 'eclipse_phase': 0.6000000000000001, 'phase_rate': 0.1}), ({'t': 14, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 3, 'mean_anomaly': 270.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.25, 'phase_rate': 0.25}), ({'t': 21, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.8500000000000001, 'cycle_index': 1, 'mean_anomaly': 306.00000000000006, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.6000000000000001, 'phase_rate': 0.1})]}\nfor i, (record, expected) in enumerate(fixtures[N]):\n    check('astronomical fixture %s' % i, solve(record), 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":"79c0e19d403ba58c0c387ad9ec9c566a0358487087aa2b8945773dcc4150ae8a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'phase': (d['t']/d['P']+d['q'])%1, 'cycle_index': int((d['t']/d['P']+d['q'])//1), 'mean_anomaly': 360*((d['t']/d['P']+d['q'])%1), 'phase_zero_epoch': d['epoch']-d['q']*d['P'], 'eclipse_phase': (d['t']/d['P']+d['q']+d['eclipse'])%1, 'phase_rate': 1/d['P']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'t': 17, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.95, 'cycle_index': 1, 'mean_anomaly': 342.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.44999999999999996, 'phase_rate': 0.1}), ({'t': 0, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 0, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': -21, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.1499999999999999, 'cycle_index': -2, 'mean_anomaly': 53.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.6499999999999999, 'phase_rate': 0.1}), ({'t': 17, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.7, 'cycle_index': 1, 'mean_anomaly': 251.99999999999997, 'phase_zero_epoch': 100, 'eclipse_phase': 0.19999999999999996, 'phase_rate': 0.1}), ({'t': 10, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 2, 'mean_anomaly': 270.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.25, 'phase_rate': 0.25}), ({'t': 17, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.44999999999999996, 'cycle_index': 1, 'mean_anomaly': 161.99999999999997, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.19999999999999996, 'phase_rate': 0.1})], 2: [({'t': 18, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.04999999999999982, 'cycle_index': 2, 'mean_anomaly': 17.999999999999936, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.5499999999999998, 'phase_rate': 0.1}), ({'t': 1, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.35, 'cycle_index': 0, 'mean_anomaly': 125.99999999999999, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.85, 'phase_rate': 0.1}), ({'t': -20, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': -2, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': 18, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.8, 'cycle_index': 1, 'mean_anomaly': 288.0, 'phase_zero_epoch': 100, 'eclipse_phase': 0.30000000000000004, 'phase_rate': 0.1}), ({'t': 11, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.0, 'cycle_index': 3, 'mean_anomaly': 0.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.5, 'phase_rate': 0.25}), ({'t': 18, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.55, 'cycle_index': 1, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.30000000000000004, 'phase_rate': 0.1})], 3: [({'t': 19, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.1499999999999999, 'cycle_index': 2, 'mean_anomaly': 53.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.6499999999999999, 'phase_rate': 0.1}), ({'t': 2, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.45, 'cycle_index': 0, 'mean_anomaly': 162.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.95, 'phase_rate': 0.1}), ({'t': -19, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.3500000000000001, 'cycle_index': -2, 'mean_anomaly': 126.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.8500000000000001, 'phase_rate': 0.1}), ({'t': 19, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.8999999999999999, 'cycle_index': 1, 'mean_anomaly': 323.99999999999994, 'phase_zero_epoch': 100, 'eclipse_phase': 0.3999999999999999, 'phase_rate': 0.1}), ({'t': 12, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 3, 'mean_anomaly': 90.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.75, 'phase_rate': 0.25}), ({'t': 19, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.6499999999999999, 'cycle_index': 1, 'mean_anomaly': 233.99999999999997, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.3999999999999999, 'phase_rate': 0.1})], 4: [({'t': 20, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 2, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': 3, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.55, 'cycle_index': 0, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.050000000000000044, 'phase_rate': 0.1}), ({'t': -18, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.44999999999999996, 'cycle_index': -2, 'mean_anomaly': 161.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.9500000000000002, 'phase_rate': 0.1}), ({'t': 20, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.0, 'cycle_index': 2, 'mean_anomaly': 0.0, 'phase_zero_epoch': 100, 'eclipse_phase': 0.5, 'phase_rate': 0.1}), ({'t': 13, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.5, 'cycle_index': 3, 'mean_anomaly': 180.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.0, 'phase_rate': 0.25}), ({'t': 20, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 1, 'mean_anomaly': 270.0, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.5, 'phase_rate': 0.1})], 5: [({'t': 21, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.3500000000000001, 'cycle_index': 2, 'mean_anomaly': 126.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.8500000000000001, 'phase_rate': 0.1}), ({'t': 4, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.65, 'cycle_index': 0, 'mean_anomaly': 234.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.15000000000000002, 'phase_rate': 0.1}), ({'t': -17, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.55, 'cycle_index': -2, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.050000000000000044, 'phase_rate': 0.1}), ({'t': 21, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.10000000000000009, 'cycle_index': 2, 'mean_anomaly': 36.00000000000003, 'phase_zero_epoch': 100, 'eclipse_phase': 0.6000000000000001, 'phase_rate': 0.1}), ({'t': 14, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 3, 'mean_anomaly': 270.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.25, 'phase_rate': 0.25}), ({'t': 21, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.8500000000000001, 'cycle_index': 1, 'mean_anomaly': 306.00000000000006, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.6000000000000001, 'phase_rate': 0.1})]}\nfor i, (record, expected) in enumerate(fixtures[N]):\n    check('astronomical fixture %s' % i, solve(record), 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":"2543cb1270eda2194fb4e4d51501afb6a5b47dfa9f4ef358d533afe4f8c81fad","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'phase': (d['t']/d['P']+d['q'])%1, 'cycle_index': int((d['t']/d['P']+d['q'])//1), 'mean_anomaly': 360*((d['t']/d['P']+d['q'])%1), 'phase_zero_epoch': d['epoch']-d['q']*d['P'], 'eclipse_phase': ((d['t']/d['P']+d['q'])-d['eclipse'])%1, 'phase_rate': 1/d['P']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'t': 17, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.95, 'cycle_index': 1, 'mean_anomaly': 342.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.44999999999999996, 'phase_rate': 0.1}), ({'t': 0, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 0, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': -21, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.1499999999999999, 'cycle_index': -2, 'mean_anomaly': 53.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.6499999999999999, 'phase_rate': 0.1}), ({'t': 17, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.7, 'cycle_index': 1, 'mean_anomaly': 251.99999999999997, 'phase_zero_epoch': 100, 'eclipse_phase': 0.19999999999999996, 'phase_rate': 0.1}), ({'t': 10, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 2, 'mean_anomaly': 270.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.25, 'phase_rate': 0.25}), ({'t': 17, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.44999999999999996, 'cycle_index': 1, 'mean_anomaly': 161.99999999999997, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.19999999999999996, 'phase_rate': 0.1})], 2: [({'t': 18, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.04999999999999982, 'cycle_index': 2, 'mean_anomaly': 17.999999999999936, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.5499999999999998, 'phase_rate': 0.1}), ({'t': 1, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.35, 'cycle_index': 0, 'mean_anomaly': 125.99999999999999, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.85, 'phase_rate': 0.1}), ({'t': -20, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': -2, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': 18, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.8, 'cycle_index': 1, 'mean_anomaly': 288.0, 'phase_zero_epoch': 100, 'eclipse_phase': 0.30000000000000004, 'phase_rate': 0.1}), ({'t': 11, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.0, 'cycle_index': 3, 'mean_anomaly': 0.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.5, 'phase_rate': 0.25}), ({'t': 18, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.55, 'cycle_index': 1, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.30000000000000004, 'phase_rate': 0.1})], 3: [({'t': 19, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.1499999999999999, 'cycle_index': 2, 'mean_anomaly': 53.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.6499999999999999, 'phase_rate': 0.1}), ({'t': 2, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.45, 'cycle_index': 0, 'mean_anomaly': 162.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.95, 'phase_rate': 0.1}), ({'t': -19, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.3500000000000001, 'cycle_index': -2, 'mean_anomaly': 126.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.8500000000000001, 'phase_rate': 0.1}), ({'t': 19, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.8999999999999999, 'cycle_index': 1, 'mean_anomaly': 323.99999999999994, 'phase_zero_epoch': 100, 'eclipse_phase': 0.3999999999999999, 'phase_rate': 0.1}), ({'t': 12, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 3, 'mean_anomaly': 90.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.75, 'phase_rate': 0.25}), ({'t': 19, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.6499999999999999, 'cycle_index': 1, 'mean_anomaly': 233.99999999999997, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.3999999999999999, 'phase_rate': 0.1})], 4: [({'t': 20, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.25, 'cycle_index': 2, 'mean_anomaly': 90.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.75, 'phase_rate': 0.1}), ({'t': 3, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.55, 'cycle_index': 0, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.050000000000000044, 'phase_rate': 0.1}), ({'t': -18, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.44999999999999996, 'cycle_index': -2, 'mean_anomaly': 161.99999999999997, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.9500000000000002, 'phase_rate': 0.1}), ({'t': 20, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.0, 'cycle_index': 2, 'mean_anomaly': 0.0, 'phase_zero_epoch': 100, 'eclipse_phase': 0.5, 'phase_rate': 0.1}), ({'t': 13, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.5, 'cycle_index': 3, 'mean_anomaly': 180.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.0, 'phase_rate': 0.25}), ({'t': 20, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 1, 'mean_anomaly': 270.0, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.5, 'phase_rate': 0.1})], 5: [({'t': 21, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.3500000000000001, 'cycle_index': 2, 'mean_anomaly': 126.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.8500000000000001, 'phase_rate': 0.1}), ({'t': 4, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.65, 'cycle_index': 0, 'mean_anomaly': 234.0, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.15000000000000002, 'phase_rate': 0.1}), ({'t': -17, 'P': 10, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.55, 'cycle_index': -2, 'mean_anomaly': 198.00000000000003, 'phase_zero_epoch': 97.5, 'eclipse_phase': 0.050000000000000044, 'phase_rate': 0.1}), ({'t': 21, 'P': 10, 'q': 0, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.10000000000000009, 'cycle_index': 2, 'mean_anomaly': 36.00000000000003, 'phase_zero_epoch': 100, 'eclipse_phase': 0.6000000000000001, 'phase_rate': 0.1}), ({'t': 14, 'P': 4, 'q': 0.25, 'eclipse': 0.5, 'epoch': 100}, {'phase': 0.75, 'cycle_index': 3, 'mean_anomaly': 270.0, 'phase_zero_epoch': 99.0, 'eclipse_phase': 0.25, 'phase_rate': 0.25}), ({'t': 21, 'P': 10, 'q': -0.25, 'eclipse': 0.25, 'epoch': 100}, {'phase': 0.8500000000000001, 'cycle_index': 1, 'mean_anomaly': 306.00000000000006, 'phase_zero_epoch': 102.5, 'eclipse_phase': 0.6000000000000001, 'phase_rate': 0.1})]}\nfor i, (record, expected) in enumerate(fixtures[N]):\n    check('astronomical fixture %s' % i, solve(record), 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":"Explicitly stipulated finite algebraic adapter; no standards conformance, physical accuracy, or production-library claim. Inputs are the documented finite valid model domain. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-astronomical-coordinate-conventions-orbital-phase-labels-eclipse_phase","generated_at":"2026-09-29T14:45:57.507385+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Catalog, detector, sky-coordinate, and spectroscopy adapters must preserve the association between numeric coordinates and their declared reference conventions.","repair":"Preserve the declared model convention at this site: ((d['t']/d['P']+d['q'])-d['eclipse'])%1","root_cause":"Eclipse-centered phase omits the catalog phase-zero shift. Faulty expression: (d['t']/d['P']+d['q']+d['eclipse'])%1","sha256":"5a70c96cfd18cb987338d8a33deb69d8158ad66af9137b03f71cfd2362d92a54","title":"Orbital phase labels: Eclipse-centered phase omits the catalog phase-zero shift · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.696,"exit_code":1,"observations":[{"actual":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":342.0,"phase":0.95,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 0","expected":{"cycle_index":1,"eclipse_phase":0.44999999999999996,"mean_anomaly":342.0,"phase":0.95,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":false},{"actual":{"cycle_index":0,"eclipse_phase":0.5,"mean_anomaly":90.0,"phase":0.25,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 1","expected":{"cycle_index":0,"eclipse_phase":0.75,"mean_anomaly":90.0,"phase":0.25,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":false},{"actual":{"cycle_index":-2,"eclipse_phase":0.3999999999999999,"mean_anomaly":53.99999999999997,"phase":0.1499999999999999,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 2","expected":{"cycle_index":-2,"eclipse_phase":0.6499999999999999,"mean_anomaly":53.99999999999997,"phase":0.1499999999999999,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":false},{"actual":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":251.99999999999997,"phase":0.7,"phase_rate":0.1,"phase_zero_epoch":100},"check":"astronomical fixture 3","expected":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":251.99999999999997,"phase":0.7,"phase_rate":0.1,"phase_zero_epoch":100},"passed":true},{"actual":{"cycle_index":2,"eclipse_phase":0.0,"mean_anomaly":270.0,"phase":0.75,"phase_rate":0.25,"phase_zero_epoch":99.0},"check":"astronomical fixture 4","expected":{"cycle_index":2,"eclipse_phase":0.25,"mean_anomaly":270.0,"phase":0.75,"phase_rate":0.25,"phase_zero_epoch":99.0},"passed":false},{"actual":{"cycle_index":1,"eclipse_phase":0.44999999999999996,"mean_anomaly":161.99999999999997,"phase":0.44999999999999996,"phase_rate":0.1,"phase_zero_epoch":102.5},"check":"astronomical fixture 5","expected":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":161.99999999999997,"phase":0.44999999999999996,"phase_rate":0.1,"phase_zero_epoch":102.5},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"phase\": 0.95, \"cycle_index\": 1, \"mean_anomaly\": 342.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.95, \"cycle_index\": 1, \"mean_anomaly\": 342.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.44999999999999996, \"phase_rate\": 0.1}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"phase\": 0.25, \"cycle_index\": 0, \"mean_anomaly\": 90.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.5, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.25, \"cycle_index\": 0, \"mean_anomaly\": 90.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.75, \"phase_rate\": 0.1}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"phase\": 0.1499999999999999, \"cycle_index\": -2, \"mean_anomaly\": 53.99999999999997, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.3999999999999999, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.1499999999999999, \"cycle_index\": -2, \"mean_anomaly\": 53.99999999999997, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.6499999999999999, \"phase_rate\": 0.1}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"phase\": 0.7, \"cycle_index\": 1, \"mean_anomaly\": 251.99999999999997, \"phase_zero_epoch\": 100, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.7, \"cycle_index\": 1, \"mean_anomaly\": 251.99999999999997, \"phase_zero_epoch\": 100, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"phase\": 0.75, \"cycle_index\": 2, \"mean_anomaly\": 270.0, \"phase_zero_epoch\": 99.0, \"eclipse_phase\": 0.0, \"phase_rate\": 0.25}, \"expected\": {\"phase\": 0.75, \"cycle_index\": 2, \"mean_anomaly\": 270.0, \"phase_zero_epoch\": 99.0, \"eclipse_phase\": 0.25, \"phase_rate\": 0.25}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"phase\": 0.44999999999999996, \"cycle_index\": 1, \"mean_anomaly\": 161.99999999999997, \"phase_zero_epoch\": 102.5, \"eclipse_phase\": 0.44999999999999996, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.44999999999999996, \"cycle_index\": 1, \"mean_anomaly\": 161.99999999999997, \"phase_zero_epoch\": 102.5, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.901,"exit_code":1,"observations":[{"actual":{"cycle_index":1,"eclipse_phase":0.4500000000000002,"mean_anomaly":342.0,"phase":0.95,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 0","expected":{"cycle_index":1,"eclipse_phase":0.44999999999999996,"mean_anomaly":342.0,"phase":0.95,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":false},{"actual":{"cycle_index":0,"eclipse_phase":0.75,"mean_anomaly":90.0,"phase":0.25,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 1","expected":{"cycle_index":0,"eclipse_phase":0.75,"mean_anomaly":90.0,"phase":0.25,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":true},{"actual":{"cycle_index":-2,"eclipse_phase":0.6499999999999999,"mean_anomaly":53.99999999999997,"phase":0.1499999999999999,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 2","expected":{"cycle_index":-2,"eclipse_phase":0.6499999999999999,"mean_anomaly":53.99999999999997,"phase":0.1499999999999999,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":true},{"actual":{"cycle_index":1,"eclipse_phase":0.20000000000000018,"mean_anomaly":251.99999999999997,"phase":0.7,"phase_rate":0.1,"phase_zero_epoch":100},"check":"astronomical fixture 3","expected":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":251.99999999999997,"phase":0.7,"phase_rate":0.1,"phase_zero_epoch":100},"passed":false},{"actual":{"cycle_index":2,"eclipse_phase":0.25,"mean_anomaly":270.0,"phase":0.75,"phase_rate":0.25,"phase_zero_epoch":99.0},"check":"astronomical fixture 4","expected":{"cycle_index":2,"eclipse_phase":0.25,"mean_anomaly":270.0,"phase":0.75,"phase_rate":0.25,"phase_zero_epoch":99.0},"passed":true},{"actual":{"cycle_index":1,"eclipse_phase":0.7,"mean_anomaly":161.99999999999997,"phase":0.44999999999999996,"phase_rate":0.1,"phase_zero_epoch":102.5},"check":"astronomical fixture 5","expected":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":161.99999999999997,"phase":0.44999999999999996,"phase_rate":0.1,"phase_zero_epoch":102.5},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"phase\": 0.95, \"cycle_index\": 1, \"mean_anomaly\": 342.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.4500000000000002, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.95, \"cycle_index\": 1, \"mean_anomaly\": 342.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.44999999999999996, \"phase_rate\": 0.1}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"phase\": 0.25, \"cycle_index\": 0, \"mean_anomaly\": 90.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.75, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.25, \"cycle_index\": 0, \"mean_anomaly\": 90.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.75, \"phase_rate\": 0.1}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"phase\": 0.1499999999999999, \"cycle_index\": -2, \"mean_anomaly\": 53.99999999999997, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.6499999999999999, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.1499999999999999, \"cycle_index\": -2, \"mean_anomaly\": 53.99999999999997, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.6499999999999999, \"phase_rate\": 0.1}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"phase\": 0.7, \"cycle_index\": 1, \"mean_anomaly\": 251.99999999999997, \"phase_zero_epoch\": 100, \"eclipse_phase\": 0.20000000000000018, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.7, \"cycle_index\": 1, \"mean_anomaly\": 251.99999999999997, \"phase_zero_epoch\": 100, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"phase\": 0.75, \"cycle_index\": 2, \"mean_anomaly\": 270.0, \"phase_zero_epoch\": 99.0, \"eclipse_phase\": 0.25, \"phase_rate\": 0.25}, \"expected\": {\"phase\": 0.75, \"cycle_index\": 2, \"mean_anomaly\": 270.0, \"phase_zero_epoch\": 99.0, \"eclipse_phase\": 0.25, \"phase_rate\": 0.25}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"phase\": 0.44999999999999996, \"cycle_index\": 1, \"mean_anomaly\": 161.99999999999997, \"phase_zero_epoch\": 102.5, \"eclipse_phase\": 0.7, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.44999999999999996, \"cycle_index\": 1, \"mean_anomaly\": 161.99999999999997, \"phase_zero_epoch\": 102.5, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.603,"exit_code":0,"observations":[{"actual":{"cycle_index":1,"eclipse_phase":0.44999999999999996,"mean_anomaly":342.0,"phase":0.95,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 0","expected":{"cycle_index":1,"eclipse_phase":0.44999999999999996,"mean_anomaly":342.0,"phase":0.95,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":true},{"actual":{"cycle_index":0,"eclipse_phase":0.75,"mean_anomaly":90.0,"phase":0.25,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 1","expected":{"cycle_index":0,"eclipse_phase":0.75,"mean_anomaly":90.0,"phase":0.25,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":true},{"actual":{"cycle_index":-2,"eclipse_phase":0.6499999999999999,"mean_anomaly":53.99999999999997,"phase":0.1499999999999999,"phase_rate":0.1,"phase_zero_epoch":97.5},"check":"astronomical fixture 2","expected":{"cycle_index":-2,"eclipse_phase":0.6499999999999999,"mean_anomaly":53.99999999999997,"phase":0.1499999999999999,"phase_rate":0.1,"phase_zero_epoch":97.5},"passed":true},{"actual":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":251.99999999999997,"phase":0.7,"phase_rate":0.1,"phase_zero_epoch":100},"check":"astronomical fixture 3","expected":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":251.99999999999997,"phase":0.7,"phase_rate":0.1,"phase_zero_epoch":100},"passed":true},{"actual":{"cycle_index":2,"eclipse_phase":0.25,"mean_anomaly":270.0,"phase":0.75,"phase_rate":0.25,"phase_zero_epoch":99.0},"check":"astronomical fixture 4","expected":{"cycle_index":2,"eclipse_phase":0.25,"mean_anomaly":270.0,"phase":0.75,"phase_rate":0.25,"phase_zero_epoch":99.0},"passed":true},{"actual":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":161.99999999999997,"phase":0.44999999999999996,"phase_rate":0.1,"phase_zero_epoch":102.5},"check":"astronomical fixture 5","expected":{"cycle_index":1,"eclipse_phase":0.19999999999999996,"mean_anomaly":161.99999999999997,"phase":0.44999999999999996,"phase_rate":0.1,"phase_zero_epoch":102.5},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"phase\": 0.95, \"cycle_index\": 1, \"mean_anomaly\": 342.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.44999999999999996, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.95, \"cycle_index\": 1, \"mean_anomaly\": 342.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.44999999999999996, \"phase_rate\": 0.1}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"phase\": 0.25, \"cycle_index\": 0, \"mean_anomaly\": 90.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.75, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.25, \"cycle_index\": 0, \"mean_anomaly\": 90.0, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.75, \"phase_rate\": 0.1}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"phase\": 0.1499999999999999, \"cycle_index\": -2, \"mean_anomaly\": 53.99999999999997, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.6499999999999999, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.1499999999999999, \"cycle_index\": -2, \"mean_anomaly\": 53.99999999999997, \"phase_zero_epoch\": 97.5, \"eclipse_phase\": 0.6499999999999999, \"phase_rate\": 0.1}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"phase\": 0.7, \"cycle_index\": 1, \"mean_anomaly\": 251.99999999999997, \"phase_zero_epoch\": 100, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.7, \"cycle_index\": 1, \"mean_anomaly\": 251.99999999999997, \"phase_zero_epoch\": 100, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"phase\": 0.75, \"cycle_index\": 2, \"mean_anomaly\": 270.0, \"phase_zero_epoch\": 99.0, \"eclipse_phase\": 0.25, \"phase_rate\": 0.25}, \"expected\": {\"phase\": 0.75, \"cycle_index\": 2, \"mean_anomaly\": 270.0, \"phase_zero_epoch\": 99.0, \"eclipse_phase\": 0.25, \"phase_rate\": 0.25}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"phase\": 0.44999999999999996, \"cycle_index\": 1, \"mean_anomaly\": 161.99999999999997, \"phase_zero_epoch\": 102.5, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"expected\": {\"phase\": 0.44999999999999996, \"cycle_index\": 1, \"mean_anomaly\": 161.99999999999997, \"phase_zero_epoch\": 102.5, \"eclipse_phase\": 0.19999999999999996, \"phase_rate\": 0.1}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}