{"abstract":"The adapter reports an incorrect folded phase while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"A reduced pulsar timing model supplies elapsed barycentric time t, spin frequency f, first derivative fd, second derivative fdd, and phase zero p. Phase cycles are p+f*t+fd*t**2/2+fdd*t**3/6. Pulse numbering floors total phase, including negative epochs. Output fields are defined by: phase = d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6; frequency = d['f']+d['fd']*d['t']+d['fdd']*d['t']**2/2; frequency_derivative = d['fd']+d['fdd']*d['t']; pulse_number = int((d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6)//1); folded_phase = (d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6)%1; phase_residual = d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6","evaluation_group":"astro-pulsar-phase-polynomial","failed_approach":"A partial convention repair still uses (d['p']+d['f']*d['t']+d['fd']*d['t']**2/2)%1","family":"s3-astronomical-coordinate-conventions-pulsar-phase-polynomial-folded_phase","id":"FA-56031","implementations":{"attempt":{"sha256":"f835fd659e334939fc835ece888dc5bd00039ae828718d7271ec35b6b58e9053","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'phase': d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6, 'frequency': d['f']+d['fd']*d['t']+d['fdd']*d['t']**2/2, 'frequency_derivative': d['fd']+d['fdd']*d['t'], 'pulse_number': int((d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6)//1), 'folded_phase': (d['p']+d['f']*d['t']+d['fd']*d['t']**2/2)%1, 'phase_residual': d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'t': 3, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 19.75, 'frequency': 12.5, 'frequency_derivative': 5, 'pulse_number': 19, 'folded_phase': 0.75, 'phase_residual': 13.5}), ({'t': 0, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 0.25, 'frequency': 2.0, 'frequency_derivative': 2, 'pulse_number': 0, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': -9, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -58.25, 'frequency': 24.5, 'frequency_derivative': -7, 'pulse_number': -59, 'folded_phase': 0.75, 'phase_residual': -40.5}), ({'t': 3, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 6.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 6, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 3, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 15.0, 'frequency': 8.0, 'frequency_derivative': 2, 'pulse_number': 15, 'folded_phase': 0.0, 'phase_residual': 9.0}), ({'t': 3, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -2.25, 'frequency': -4.0, 'frequency_derivative': -2, 'pulse_number': -3, 'folded_phase': 0.75, 'phase_residual': -9.0})], 2: [({'t': 4, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 34.916666666666664, 'frequency': 18.0, 'frequency_derivative': 6, 'pulse_number': 34, 'folded_phase': 0.9166666666666643, 'phase_residual': 26.666666666666664}), ({'t': 1, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 3.4166666666666665, 'frequency': 4.5, 'frequency_derivative': 3, 'pulse_number': 3, 'folded_phase': 0.4166666666666665, 'phase_residual': 1.1666666666666667}), ({'t': -8, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -37.08333333333333, 'frequency': 18.0, 'frequency_derivative': -6, 'pulse_number': -38, 'folded_phase': 0.9166666666666714, 'phase_residual': -21.33333333333333}), ({'t': 4, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 8.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 8, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 4, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 24.0, 'frequency': 10.0, 'frequency_derivative': 2, 'pulse_number': 24, 'folded_phase': 0.0, 'phase_residual': 16.0}), ({'t': 4, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -7.25, 'frequency': -6.0, 'frequency_derivative': -2, 'pulse_number': -8, 'folded_phase': 0.75, 'phase_residual': -16.0})], 3: [({'t': 5, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 56.08333333333333, 'frequency': 24.5, 'frequency_derivative': 7, 'pulse_number': 56, 'folded_phase': 0.0833333333333286, 'phase_residual': 45.83333333333333}), ({'t': 2, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 9.583333333333334, 'frequency': 8.0, 'frequency_derivative': 4, 'pulse_number': 9, 'folded_phase': 0.5833333333333339, 'phase_residual': 5.333333333333333}), ({'t': -7, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -21.916666666666664, 'frequency': 12.5, 'frequency_derivative': -5, 'pulse_number': -22, 'folded_phase': 0.0833333333333357, 'phase_residual': -8.166666666666664}), ({'t': 5, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 10.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 10, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 5, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 35.0, 'frequency': 12.0, 'frequency_derivative': 2, 'pulse_number': 35, 'folded_phase': 0.0, 'phase_residual': 25.0}), ({'t': 5, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -14.25, 'frequency': -8.0, 'frequency_derivative': -2, 'pulse_number': -15, 'folded_phase': 0.75, 'phase_residual': -25.0})], 4: [({'t': 6, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 84.25, 'frequency': 32.0, 'frequency_derivative': 8, 'pulse_number': 84, 'folded_phase': 0.25, 'phase_residual': 72.0}), ({'t': 3, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 19.75, 'frequency': 12.5, 'frequency_derivative': 5, 'pulse_number': 19, 'folded_phase': 0.75, 'phase_residual': 13.5}), ({'t': -6, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -11.75, 'frequency': 8.0, 'frequency_derivative': -4, 'pulse_number': -12, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 6, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 12.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 12, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 6, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 48.0, 'frequency': 14.0, 'frequency_derivative': 2, 'pulse_number': 48, 'folded_phase': 0.0, 'phase_residual': 36.0}), ({'t': 6, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -23.25, 'frequency': -10.0, 'frequency_derivative': -2, 'pulse_number': -24, 'folded_phase': 0.75, 'phase_residual': -36.0})], 5: [({'t': 7, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 120.41666666666666, 'frequency': 40.5, 'frequency_derivative': 9, 'pulse_number': 120, 'folded_phase': 0.4166666666666572, 'phase_residual': 106.16666666666666}), ({'t': 4, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 34.916666666666664, 'frequency': 18.0, 'frequency_derivative': 6, 'pulse_number': 34, 'folded_phase': 0.9166666666666643, 'phase_residual': 26.666666666666664}), ({'t': -5, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -5.583333333333332, 'frequency': 4.5, 'frequency_derivative': -3, 'pulse_number': -6, 'folded_phase': 0.41666666666666785, 'phase_residual': 4.166666666666668}), ({'t': 7, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 14.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 14, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 7, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 63.0, 'frequency': 16.0, 'frequency_derivative': 2, 'pulse_number': 63, 'folded_phase': 0.0, 'phase_residual': 49.0}), ({'t': 7, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -34.25, 'frequency': -12.0, 'frequency_derivative': -2, 'pulse_number': -35, 'folded_phase': 0.75, 'phase_residual': -49.0})]}\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":"893243fe10a57f3a4dc18d046c1391e61780dc53b11de080fdcc9c02477e742a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'phase': d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6, 'frequency': d['f']+d['fd']*d['t']+d['fdd']*d['t']**2/2, 'frequency_derivative': d['fd']+d['fdd']*d['t'], 'pulse_number': int((d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6)//1), 'folded_phase': (d['f']*d['t'])%1, 'phase_residual': d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'t': 3, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 19.75, 'frequency': 12.5, 'frequency_derivative': 5, 'pulse_number': 19, 'folded_phase': 0.75, 'phase_residual': 13.5}), ({'t': 0, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 0.25, 'frequency': 2.0, 'frequency_derivative': 2, 'pulse_number': 0, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': -9, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -58.25, 'frequency': 24.5, 'frequency_derivative': -7, 'pulse_number': -59, 'folded_phase': 0.75, 'phase_residual': -40.5}), ({'t': 3, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 6.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 6, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 3, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 15.0, 'frequency': 8.0, 'frequency_derivative': 2, 'pulse_number': 15, 'folded_phase': 0.0, 'phase_residual': 9.0}), ({'t': 3, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -2.25, 'frequency': -4.0, 'frequency_derivative': -2, 'pulse_number': -3, 'folded_phase': 0.75, 'phase_residual': -9.0})], 2: [({'t': 4, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 34.916666666666664, 'frequency': 18.0, 'frequency_derivative': 6, 'pulse_number': 34, 'folded_phase': 0.9166666666666643, 'phase_residual': 26.666666666666664}), ({'t': 1, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 3.4166666666666665, 'frequency': 4.5, 'frequency_derivative': 3, 'pulse_number': 3, 'folded_phase': 0.4166666666666665, 'phase_residual': 1.1666666666666667}), ({'t': -8, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -37.08333333333333, 'frequency': 18.0, 'frequency_derivative': -6, 'pulse_number': -38, 'folded_phase': 0.9166666666666714, 'phase_residual': -21.33333333333333}), ({'t': 4, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 8.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 8, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 4, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 24.0, 'frequency': 10.0, 'frequency_derivative': 2, 'pulse_number': 24, 'folded_phase': 0.0, 'phase_residual': 16.0}), ({'t': 4, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -7.25, 'frequency': -6.0, 'frequency_derivative': -2, 'pulse_number': -8, 'folded_phase': 0.75, 'phase_residual': -16.0})], 3: [({'t': 5, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 56.08333333333333, 'frequency': 24.5, 'frequency_derivative': 7, 'pulse_number': 56, 'folded_phase': 0.0833333333333286, 'phase_residual': 45.83333333333333}), ({'t': 2, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 9.583333333333334, 'frequency': 8.0, 'frequency_derivative': 4, 'pulse_number': 9, 'folded_phase': 0.5833333333333339, 'phase_residual': 5.333333333333333}), ({'t': -7, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -21.916666666666664, 'frequency': 12.5, 'frequency_derivative': -5, 'pulse_number': -22, 'folded_phase': 0.0833333333333357, 'phase_residual': -8.166666666666664}), ({'t': 5, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 10.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 10, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 5, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 35.0, 'frequency': 12.0, 'frequency_derivative': 2, 'pulse_number': 35, 'folded_phase': 0.0, 'phase_residual': 25.0}), ({'t': 5, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -14.25, 'frequency': -8.0, 'frequency_derivative': -2, 'pulse_number': -15, 'folded_phase': 0.75, 'phase_residual': -25.0})], 4: [({'t': 6, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 84.25, 'frequency': 32.0, 'frequency_derivative': 8, 'pulse_number': 84, 'folded_phase': 0.25, 'phase_residual': 72.0}), ({'t': 3, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 19.75, 'frequency': 12.5, 'frequency_derivative': 5, 'pulse_number': 19, 'folded_phase': 0.75, 'phase_residual': 13.5}), ({'t': -6, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -11.75, 'frequency': 8.0, 'frequency_derivative': -4, 'pulse_number': -12, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 6, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 12.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 12, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 6, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 48.0, 'frequency': 14.0, 'frequency_derivative': 2, 'pulse_number': 48, 'folded_phase': 0.0, 'phase_residual': 36.0}), ({'t': 6, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -23.25, 'frequency': -10.0, 'frequency_derivative': -2, 'pulse_number': -24, 'folded_phase': 0.75, 'phase_residual': -36.0})], 5: [({'t': 7, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 120.41666666666666, 'frequency': 40.5, 'frequency_derivative': 9, 'pulse_number': 120, 'folded_phase': 0.4166666666666572, 'phase_residual': 106.16666666666666}), ({'t': 4, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 34.916666666666664, 'frequency': 18.0, 'frequency_derivative': 6, 'pulse_number': 34, 'folded_phase': 0.9166666666666643, 'phase_residual': 26.666666666666664}), ({'t': -5, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -5.583333333333332, 'frequency': 4.5, 'frequency_derivative': -3, 'pulse_number': -6, 'folded_phase': 0.41666666666666785, 'phase_residual': 4.166666666666668}), ({'t': 7, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 14.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 14, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 7, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 63.0, 'frequency': 16.0, 'frequency_derivative': 2, 'pulse_number': 63, 'folded_phase': 0.0, 'phase_residual': 49.0}), ({'t': 7, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -34.25, 'frequency': -12.0, 'frequency_derivative': -2, 'pulse_number': -35, 'folded_phase': 0.75, 'phase_residual': -49.0})]}\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":"96d489eb89d1f7053defd62f9aad708f88b96d31eb565e44340b8020f7353071","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'phase': d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6, 'frequency': d['f']+d['fd']*d['t']+d['fdd']*d['t']**2/2, 'frequency_derivative': d['fd']+d['fdd']*d['t'], 'pulse_number': int((d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6)//1), 'folded_phase': (d['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6)%1, 'phase_residual': d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'t': 3, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 19.75, 'frequency': 12.5, 'frequency_derivative': 5, 'pulse_number': 19, 'folded_phase': 0.75, 'phase_residual': 13.5}), ({'t': 0, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 0.25, 'frequency': 2.0, 'frequency_derivative': 2, 'pulse_number': 0, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': -9, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -58.25, 'frequency': 24.5, 'frequency_derivative': -7, 'pulse_number': -59, 'folded_phase': 0.75, 'phase_residual': -40.5}), ({'t': 3, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 6.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 6, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 3, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 15.0, 'frequency': 8.0, 'frequency_derivative': 2, 'pulse_number': 15, 'folded_phase': 0.0, 'phase_residual': 9.0}), ({'t': 3, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -2.25, 'frequency': -4.0, 'frequency_derivative': -2, 'pulse_number': -3, 'folded_phase': 0.75, 'phase_residual': -9.0})], 2: [({'t': 4, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 34.916666666666664, 'frequency': 18.0, 'frequency_derivative': 6, 'pulse_number': 34, 'folded_phase': 0.9166666666666643, 'phase_residual': 26.666666666666664}), ({'t': 1, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 3.4166666666666665, 'frequency': 4.5, 'frequency_derivative': 3, 'pulse_number': 3, 'folded_phase': 0.4166666666666665, 'phase_residual': 1.1666666666666667}), ({'t': -8, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -37.08333333333333, 'frequency': 18.0, 'frequency_derivative': -6, 'pulse_number': -38, 'folded_phase': 0.9166666666666714, 'phase_residual': -21.33333333333333}), ({'t': 4, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 8.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 8, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 4, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 24.0, 'frequency': 10.0, 'frequency_derivative': 2, 'pulse_number': 24, 'folded_phase': 0.0, 'phase_residual': 16.0}), ({'t': 4, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -7.25, 'frequency': -6.0, 'frequency_derivative': -2, 'pulse_number': -8, 'folded_phase': 0.75, 'phase_residual': -16.0})], 3: [({'t': 5, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 56.08333333333333, 'frequency': 24.5, 'frequency_derivative': 7, 'pulse_number': 56, 'folded_phase': 0.0833333333333286, 'phase_residual': 45.83333333333333}), ({'t': 2, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 9.583333333333334, 'frequency': 8.0, 'frequency_derivative': 4, 'pulse_number': 9, 'folded_phase': 0.5833333333333339, 'phase_residual': 5.333333333333333}), ({'t': -7, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -21.916666666666664, 'frequency': 12.5, 'frequency_derivative': -5, 'pulse_number': -22, 'folded_phase': 0.0833333333333357, 'phase_residual': -8.166666666666664}), ({'t': 5, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 10.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 10, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 5, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 35.0, 'frequency': 12.0, 'frequency_derivative': 2, 'pulse_number': 35, 'folded_phase': 0.0, 'phase_residual': 25.0}), ({'t': 5, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -14.25, 'frequency': -8.0, 'frequency_derivative': -2, 'pulse_number': -15, 'folded_phase': 0.75, 'phase_residual': -25.0})], 4: [({'t': 6, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 84.25, 'frequency': 32.0, 'frequency_derivative': 8, 'pulse_number': 84, 'folded_phase': 0.25, 'phase_residual': 72.0}), ({'t': 3, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 19.75, 'frequency': 12.5, 'frequency_derivative': 5, 'pulse_number': 19, 'folded_phase': 0.75, 'phase_residual': 13.5}), ({'t': -6, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -11.75, 'frequency': 8.0, 'frequency_derivative': -4, 'pulse_number': -12, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 6, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 12.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 12, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 6, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 48.0, 'frequency': 14.0, 'frequency_derivative': 2, 'pulse_number': 48, 'folded_phase': 0.0, 'phase_residual': 36.0}), ({'t': 6, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -23.25, 'frequency': -10.0, 'frequency_derivative': -2, 'pulse_number': -24, 'folded_phase': 0.75, 'phase_residual': -36.0})], 5: [({'t': 7, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 120.41666666666666, 'frequency': 40.5, 'frequency_derivative': 9, 'pulse_number': 120, 'folded_phase': 0.4166666666666572, 'phase_residual': 106.16666666666666}), ({'t': 4, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': 34.916666666666664, 'frequency': 18.0, 'frequency_derivative': 6, 'pulse_number': 34, 'folded_phase': 0.9166666666666643, 'phase_residual': 26.666666666666664}), ({'t': -5, 'f': 2, 'fd': 2, 'fdd': 1, 'p': 0.25}, {'phase': -5.583333333333332, 'frequency': 4.5, 'frequency_derivative': -3, 'pulse_number': -6, 'folded_phase': 0.41666666666666785, 'phase_residual': 4.166666666666668}), ({'t': 7, 'f': 2, 'fd': 0, 'fdd': 0, 'p': 0.25}, {'phase': 14.25, 'frequency': 2.0, 'frequency_derivative': 0, 'pulse_number': 14, 'folded_phase': 0.25, 'phase_residual': 0.0}), ({'t': 7, 'f': 2, 'fd': 2, 'fdd': 0, 'p': 0}, {'phase': 63.0, 'frequency': 16.0, 'frequency_derivative': 2, 'pulse_number': 63, 'folded_phase': 0.0, 'phase_residual': 49.0}), ({'t': 7, 'f': 2, 'fd': -2, 'fdd': 0, 'p': 0.75}, {'phase': -34.25, 'frequency': -12.0, 'frequency_derivative': -2, 'pulse_number': -35, 'folded_phase': 0.75, 'phase_residual': -49.0})]}\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-pulsar-phase-polynomial-folded_phase","generated_at":"2026-09-29T14:46:03.352802+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['p']+d['f']*d['t']+d['fd']*d['t']**2/2+d['fdd']*d['t']**3/6)%1","root_cause":"Pulsar folding drops spin-down or the second spin derivative. Faulty expression: (d['f']*d['t'])%1","sha256":"43c3ed1603be195237196d8be5c39edc634b6a42ba219c82ed79e6523fef5ddb","title":"Pulsar phase polynomial: Pulsar folding drops spin-down or the second spin derivative · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":46.226,"exit_code":1,"observations":[{"actual":{"folded_phase":0.25,"frequency":12.5,"frequency_derivative":5,"phase":19.75,"phase_residual":13.5,"pulse_number":19},"check":"astronomical fixture 0","expected":{"folded_phase":0.75,"frequency":12.5,"frequency_derivative":5,"phase":19.75,"phase_residual":13.5,"pulse_number":19},"passed":false},{"actual":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":2,"phase":0.25,"phase_residual":0.0,"pulse_number":0},"check":"astronomical fixture 1","expected":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":2,"phase":0.25,"phase_residual":0.0,"pulse_number":0},"passed":true},{"actual":{"folded_phase":0.25,"frequency":24.5,"frequency_derivative":-7,"phase":-58.25,"phase_residual":-40.5,"pulse_number":-59},"check":"astronomical fixture 2","expected":{"folded_phase":0.75,"frequency":24.5,"frequency_derivative":-7,"phase":-58.25,"phase_residual":-40.5,"pulse_number":-59},"passed":false},{"actual":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":0,"phase":6.25,"phase_residual":0.0,"pulse_number":6},"check":"astronomical fixture 3","expected":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":0,"phase":6.25,"phase_residual":0.0,"pulse_number":6},"passed":true},{"actual":{"folded_phase":0.0,"frequency":8.0,"frequency_derivative":2,"phase":15.0,"phase_residual":9.0,"pulse_number":15},"check":"astronomical fixture 4","expected":{"folded_phase":0.0,"frequency":8.0,"frequency_derivative":2,"phase":15.0,"phase_residual":9.0,"pulse_number":15},"passed":true},{"actual":{"folded_phase":0.75,"frequency":-4.0,"frequency_derivative":-2,"phase":-2.25,"phase_residual":-9.0,"pulse_number":-3},"check":"astronomical fixture 5","expected":{"folded_phase":0.75,"frequency":-4.0,"frequency_derivative":-2,"phase":-2.25,"phase_residual":-9.0,"pulse_number":-3},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"phase\": 19.75, \"frequency\": 12.5, \"frequency_derivative\": 5, \"pulse_number\": 19, \"folded_phase\": 0.25, \"phase_residual\": 13.5}, \"expected\": {\"phase\": 19.75, \"frequency\": 12.5, \"frequency_derivative\": 5, \"pulse_number\": 19, \"folded_phase\": 0.75, \"phase_residual\": 13.5}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"phase\": 0.25, \"frequency\": 2.0, \"frequency_derivative\": 2, \"pulse_number\": 0, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"expected\": {\"phase\": 0.25, \"frequency\": 2.0, \"frequency_derivative\": 2, \"pulse_number\": 0, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"phase\": -58.25, \"frequency\": 24.5, \"frequency_derivative\": -7, \"pulse_number\": -59, \"folded_phase\": 0.25, \"phase_residual\": -40.5}, \"expected\": {\"phase\": -58.25, \"frequency\": 24.5, \"frequency_derivative\": -7, \"pulse_number\": -59, \"folded_phase\": 0.75, \"phase_residual\": -40.5}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"phase\": 6.25, \"frequency\": 2.0, \"frequency_derivative\": 0, \"pulse_number\": 6, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"expected\": {\"phase\": 6.25, \"frequency\": 2.0, \"frequency_derivative\": 0, \"pulse_number\": 6, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"phase\": 15.0, \"frequency\": 8.0, \"frequency_derivative\": 2, \"pulse_number\": 15, \"folded_phase\": 0.0, \"phase_residual\": 9.0}, \"expected\": {\"phase\": 15.0, \"frequency\": 8.0, \"frequency_derivative\": 2, \"pulse_number\": 15, \"folded_phase\": 0.0, \"phase_residual\": 9.0}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"phase\": -2.25, \"frequency\": -4.0, \"frequency_derivative\": -2, \"pulse_number\": -3, \"folded_phase\": 0.75, \"phase_residual\": -9.0}, \"expected\": {\"phase\": -2.25, \"frequency\": -4.0, \"frequency_derivative\": -2, \"pulse_number\": -3, \"folded_phase\": 0.75, \"phase_residual\": -9.0}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.059,"exit_code":1,"observations":[{"actual":{"folded_phase":0,"frequency":12.5,"frequency_derivative":5,"phase":19.75,"phase_residual":13.5,"pulse_number":19},"check":"astronomical fixture 0","expected":{"folded_phase":0.75,"frequency":12.5,"frequency_derivative":5,"phase":19.75,"phase_residual":13.5,"pulse_number":19},"passed":false},{"actual":{"folded_phase":0,"frequency":2.0,"frequency_derivative":2,"phase":0.25,"phase_residual":0.0,"pulse_number":0},"check":"astronomical fixture 1","expected":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":2,"phase":0.25,"phase_residual":0.0,"pulse_number":0},"passed":false},{"actual":{"folded_phase":0,"frequency":24.5,"frequency_derivative":-7,"phase":-58.25,"phase_residual":-40.5,"pulse_number":-59},"check":"astronomical fixture 2","expected":{"folded_phase":0.75,"frequency":24.5,"frequency_derivative":-7,"phase":-58.25,"phase_residual":-40.5,"pulse_number":-59},"passed":false},{"actual":{"folded_phase":0,"frequency":2.0,"frequency_derivative":0,"phase":6.25,"phase_residual":0.0,"pulse_number":6},"check":"astronomical fixture 3","expected":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":0,"phase":6.25,"phase_residual":0.0,"pulse_number":6},"passed":false},{"actual":{"folded_phase":0,"frequency":8.0,"frequency_derivative":2,"phase":15.0,"phase_residual":9.0,"pulse_number":15},"check":"astronomical fixture 4","expected":{"folded_phase":0.0,"frequency":8.0,"frequency_derivative":2,"phase":15.0,"phase_residual":9.0,"pulse_number":15},"passed":true},{"actual":{"folded_phase":0,"frequency":-4.0,"frequency_derivative":-2,"phase":-2.25,"phase_residual":-9.0,"pulse_number":-3},"check":"astronomical fixture 5","expected":{"folded_phase":0.75,"frequency":-4.0,"frequency_derivative":-2,"phase":-2.25,"phase_residual":-9.0,"pulse_number":-3},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"phase\": 19.75, \"frequency\": 12.5, \"frequency_derivative\": 5, \"pulse_number\": 19, \"folded_phase\": 0, \"phase_residual\": 13.5}, \"expected\": {\"phase\": 19.75, \"frequency\": 12.5, \"frequency_derivative\": 5, \"pulse_number\": 19, \"folded_phase\": 0.75, \"phase_residual\": 13.5}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"phase\": 0.25, \"frequency\": 2.0, \"frequency_derivative\": 2, \"pulse_number\": 0, \"folded_phase\": 0, \"phase_residual\": 0.0}, \"expected\": {\"phase\": 0.25, \"frequency\": 2.0, \"frequency_derivative\": 2, \"pulse_number\": 0, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"phase\": -58.25, \"frequency\": 24.5, \"frequency_derivative\": -7, \"pulse_number\": -59, \"folded_phase\": 0, \"phase_residual\": -40.5}, \"expected\": {\"phase\": -58.25, \"frequency\": 24.5, \"frequency_derivative\": -7, \"pulse_number\": -59, \"folded_phase\": 0.75, \"phase_residual\": -40.5}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"phase\": 6.25, \"frequency\": 2.0, \"frequency_derivative\": 0, \"pulse_number\": 6, \"folded_phase\": 0, \"phase_residual\": 0.0}, \"expected\": {\"phase\": 6.25, \"frequency\": 2.0, \"frequency_derivative\": 0, \"pulse_number\": 6, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"phase\": 15.0, \"frequency\": 8.0, \"frequency_derivative\": 2, \"pulse_number\": 15, \"folded_phase\": 0, \"phase_residual\": 9.0}, \"expected\": {\"phase\": 15.0, \"frequency\": 8.0, \"frequency_derivative\": 2, \"pulse_number\": 15, \"folded_phase\": 0.0, \"phase_residual\": 9.0}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"phase\": -2.25, \"frequency\": -4.0, \"frequency_derivative\": -2, \"pulse_number\": -3, \"folded_phase\": 0, \"phase_residual\": -9.0}, \"expected\": {\"phase\": -2.25, \"frequency\": -4.0, \"frequency_derivative\": -2, \"pulse_number\": -3, \"folded_phase\": 0.75, \"phase_residual\": -9.0}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.143,"exit_code":0,"observations":[{"actual":{"folded_phase":0.75,"frequency":12.5,"frequency_derivative":5,"phase":19.75,"phase_residual":13.5,"pulse_number":19},"check":"astronomical fixture 0","expected":{"folded_phase":0.75,"frequency":12.5,"frequency_derivative":5,"phase":19.75,"phase_residual":13.5,"pulse_number":19},"passed":true},{"actual":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":2,"phase":0.25,"phase_residual":0.0,"pulse_number":0},"check":"astronomical fixture 1","expected":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":2,"phase":0.25,"phase_residual":0.0,"pulse_number":0},"passed":true},{"actual":{"folded_phase":0.75,"frequency":24.5,"frequency_derivative":-7,"phase":-58.25,"phase_residual":-40.5,"pulse_number":-59},"check":"astronomical fixture 2","expected":{"folded_phase":0.75,"frequency":24.5,"frequency_derivative":-7,"phase":-58.25,"phase_residual":-40.5,"pulse_number":-59},"passed":true},{"actual":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":0,"phase":6.25,"phase_residual":0.0,"pulse_number":6},"check":"astronomical fixture 3","expected":{"folded_phase":0.25,"frequency":2.0,"frequency_derivative":0,"phase":6.25,"phase_residual":0.0,"pulse_number":6},"passed":true},{"actual":{"folded_phase":0.0,"frequency":8.0,"frequency_derivative":2,"phase":15.0,"phase_residual":9.0,"pulse_number":15},"check":"astronomical fixture 4","expected":{"folded_phase":0.0,"frequency":8.0,"frequency_derivative":2,"phase":15.0,"phase_residual":9.0,"pulse_number":15},"passed":true},{"actual":{"folded_phase":0.75,"frequency":-4.0,"frequency_derivative":-2,"phase":-2.25,"phase_residual":-9.0,"pulse_number":-3},"check":"astronomical fixture 5","expected":{"folded_phase":0.75,"frequency":-4.0,"frequency_derivative":-2,"phase":-2.25,"phase_residual":-9.0,"pulse_number":-3},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"phase\": 19.75, \"frequency\": 12.5, \"frequency_derivative\": 5, \"pulse_number\": 19, \"folded_phase\": 0.75, \"phase_residual\": 13.5}, \"expected\": {\"phase\": 19.75, \"frequency\": 12.5, \"frequency_derivative\": 5, \"pulse_number\": 19, \"folded_phase\": 0.75, \"phase_residual\": 13.5}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"phase\": 0.25, \"frequency\": 2.0, \"frequency_derivative\": 2, \"pulse_number\": 0, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"expected\": {\"phase\": 0.25, \"frequency\": 2.0, \"frequency_derivative\": 2, \"pulse_number\": 0, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"phase\": -58.25, \"frequency\": 24.5, \"frequency_derivative\": -7, \"pulse_number\": -59, \"folded_phase\": 0.75, \"phase_residual\": -40.5}, \"expected\": {\"phase\": -58.25, \"frequency\": 24.5, \"frequency_derivative\": -7, \"pulse_number\": -59, \"folded_phase\": 0.75, \"phase_residual\": -40.5}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"phase\": 6.25, \"frequency\": 2.0, \"frequency_derivative\": 0, \"pulse_number\": 6, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"expected\": {\"phase\": 6.25, \"frequency\": 2.0, \"frequency_derivative\": 0, \"pulse_number\": 6, \"folded_phase\": 0.25, \"phase_residual\": 0.0}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"phase\": 15.0, \"frequency\": 8.0, \"frequency_derivative\": 2, \"pulse_number\": 15, \"folded_phase\": 0.0, \"phase_residual\": 9.0}, \"expected\": {\"phase\": 15.0, \"frequency\": 8.0, \"frequency_derivative\": 2, \"pulse_number\": 15, \"folded_phase\": 0.0, \"phase_residual\": 9.0}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"phase\": -2.25, \"frequency\": -4.0, \"frequency_derivative\": -2, \"pulse_number\": -3, \"folded_phase\": 0.75, \"phase_residual\": -9.0}, \"expected\": {\"phase\": -2.25, \"frequency\": -4.0, \"frequency_derivative\": -2, \"pulse_number\": -3, \"folded_phase\": 0.75, \"phase_residual\": -9.0}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}