{"abstract":"The adapter reports an incorrect phase cycles while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"A reduced visibility coordinate adapter supplies speed constant c, channel frequency f, reference frequency fr, physical baseline b, and delay tau. Wavelength uvw scales as b*f/c. Angular fringe rate is represented in cycles, not radians. Frequencies and c are positive. Output fields are defined by: channel_uvw = d['b']*d['f']/d['c']; physical_baseline = d['b']*d['f']/d['c']*d['c']/d['f']; phase_cycles = d['tau']*d['f']; channel_phase_step = d['tau']*d['df']; time_phase_step = d['rate']*d['dt']; frequency_jacobian = d['b']/d['c']","evaluation_group":"astro-interferometer-channel-uvw","failed_approach":"A partial convention repair still uses d['tau']/d['f']","family":"s3-astronomical-coordinate-conventions-interferometer-channel-uvw-phase_cycles","id":"FA-55151","implementations":{"attempt":{"sha256":"70332445dda488a9fbddeb5adef0e4285726d456bf79fdd27cb27e113df19994","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'channel_uvw': d['b']*d['f']/d['c'], 'physical_baseline': d['b']*d['f']/d['c']*d['c']/d['f'], 'phase_cycles': d['tau']/d['f'], 'channel_phase_step': d['tau']*d['df'], 'time_phase_step': d['rate']*d['dt'], 'frequency_jacobian': d['b']/d['c']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'b': 12, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 12, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.0, 'physical_baseline': 12.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 0, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 0.0, 'physical_baseline': 0.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.0}), ({'b': -7, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -3.5, 'physical_baseline': -7.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.4375}), ({'b': 12, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 12, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 12.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.5})], 2: [({'b': 13, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.5, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 13, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.25, 'physical_baseline': 13.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 1, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 0.5, 'physical_baseline': 1.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.0625}), ({'b': -6, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -3.0, 'physical_baseline': -6.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.375}), ({'b': 13, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.5, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 13, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 13.0, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.625})], 3: [({'b': 14, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 14, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.5, 'physical_baseline': 14.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 2, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 1.0, 'physical_baseline': 2.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.125}), ({'b': -5, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -2.5, 'physical_baseline': -5.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.3125}), ({'b': 14, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 14, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 14.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.75})], 4: [({'b': 15, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.5, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 15, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.75, 'physical_baseline': 15.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 3, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 1.5, 'physical_baseline': 3.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.1875}), ({'b': -4, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -2.0, 'physical_baseline': -4.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.25}), ({'b': 15, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.5, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 15, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 15.0, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.875})], 5: [({'b': 16, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 8.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 16, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 4.0, 'physical_baseline': 16.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 4, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 2.0, 'physical_baseline': 4.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.25}), ({'b': -3, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -1.5, 'physical_baseline': -3.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.1875}), ({'b': 16, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 8.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 16, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 16.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 2.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":"21089d13bc45eeac6e3fbb3c3c528df15cad4960b787b9a176c56f8d4cd74058","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'channel_uvw': d['b']*d['f']/d['c'], 'physical_baseline': d['b']*d['f']/d['c']*d['c']/d['f'], 'phase_cycles': d['tau']*d['fr'], 'channel_phase_step': d['tau']*d['df'], 'time_phase_step': d['rate']*d['dt'], 'frequency_jacobian': d['b']/d['c']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'b': 12, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 12, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.0, 'physical_baseline': 12.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 0, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 0.0, 'physical_baseline': 0.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.0}), ({'b': -7, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -3.5, 'physical_baseline': -7.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.4375}), ({'b': 12, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 12, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 12.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.5})], 2: [({'b': 13, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.5, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 13, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.25, 'physical_baseline': 13.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 1, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 0.5, 'physical_baseline': 1.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.0625}), ({'b': -6, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -3.0, 'physical_baseline': -6.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.375}), ({'b': 13, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.5, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 13, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 13.0, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.625})], 3: [({'b': 14, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 14, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.5, 'physical_baseline': 14.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 2, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 1.0, 'physical_baseline': 2.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.125}), ({'b': -5, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -2.5, 'physical_baseline': -5.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.3125}), ({'b': 14, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 14, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 14.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.75})], 4: [({'b': 15, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.5, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 15, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.75, 'physical_baseline': 15.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 3, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 1.5, 'physical_baseline': 3.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.1875}), ({'b': -4, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -2.0, 'physical_baseline': -4.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.25}), ({'b': 15, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.5, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 15, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 15.0, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.875})], 5: [({'b': 16, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 8.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 16, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 4.0, 'physical_baseline': 16.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 4, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 2.0, 'physical_baseline': 4.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.25}), ({'b': -3, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -1.5, 'physical_baseline': -3.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.1875}), ({'b': 16, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 8.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 16, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 16.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 2.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":"4891c61a67754e856486613e65860b5bea170209e211b38c8dbe39f41170b62c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'channel_uvw': d['b']*d['f']/d['c'], 'physical_baseline': d['b']*d['f']/d['c']*d['c']/d['f'], 'phase_cycles': d['tau']*d['f'], 'channel_phase_step': d['tau']*d['df'], 'time_phase_step': d['rate']*d['dt'], 'frequency_jacobian': d['b']/d['c']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'b': 12, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 12, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.0, 'physical_baseline': 12.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 0, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 0.0, 'physical_baseline': 0.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.0}), ({'b': -7, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -3.5, 'physical_baseline': -7.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.4375}), ({'b': 12, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.75}), ({'b': 12, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 12.0, 'physical_baseline': 12.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.5})], 2: [({'b': 13, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.5, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 13, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.25, 'physical_baseline': 13.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 1, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 0.5, 'physical_baseline': 1.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.0625}), ({'b': -6, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -3.0, 'physical_baseline': -6.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.375}), ({'b': 13, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 6.5, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.8125}), ({'b': 13, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 13.0, 'physical_baseline': 13.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.625})], 3: [({'b': 14, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 14, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.5, 'physical_baseline': 14.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 2, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 1.0, 'physical_baseline': 2.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.125}), ({'b': -5, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -2.5, 'physical_baseline': -5.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.3125}), ({'b': 14, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.875}), ({'b': 14, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 14.0, 'physical_baseline': 14.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.75})], 4: [({'b': 15, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.5, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 15, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 3.75, 'physical_baseline': 15.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 3, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 1.5, 'physical_baseline': 3.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.1875}), ({'b': -4, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -2.0, 'physical_baseline': -4.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.25}), ({'b': 15, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 7.5, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.9375}), ({'b': 15, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 15.0, 'physical_baseline': 15.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 1.875})], 5: [({'b': 16, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 8.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 16, 'f': 4, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 4.0, 'physical_baseline': 16.0, 'phase_cycles': 8, 'channel_phase_step': 6, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 4, 'f': 8, 'fr': 4, 'c': 16, 'tau': 0, 'df': 3, 'dt': 5, 'rate': 2}, {'channel_uvw': 2.0, 'physical_baseline': 4.0, 'phase_cycles': 0, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 0.25}), ({'b': -3, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 3, 'dt': 5, 'rate': -2}, {'channel_uvw': -1.5, 'physical_baseline': -3.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': -10, 'frequency_jacobian': -0.1875}), ({'b': 16, 'f': 8, 'fr': 4, 'c': 16, 'tau': 2, 'df': 0, 'dt': 5, 'rate': 2}, {'channel_uvw': 8.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 0, 'time_phase_step': 10, 'frequency_jacobian': 1.0}), ({'b': 16, 'f': 8, 'fr': 4, 'c': 8, 'tau': 2, 'df': 3, 'dt': 1, 'rate': 2}, {'channel_uvw': 16.0, 'physical_baseline': 16.0, 'phase_cycles': 16, 'channel_phase_step': 6, 'time_phase_step': 2, 'frequency_jacobian': 2.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-interferometer-channel-uvw-phase_cycles","generated_at":"2026-09-29T14:45:55.127904+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['tau']*d['f']","root_cause":"Channel fringe phase uses reference-band rather than channel frequency. Faulty expression: d['tau']*d['fr']","sha256":"e9e52a8020e971a674aa39ad288f952f17416ded7cd1fdecd614fb68db615443","title":"Interferometer channel uvw: Channel fringe phase uses reference-band rather than channel frequency · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.551,"exit_code":1,"observations":[{"actual":{"channel_phase_step":6,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":0.25,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 0","expected":{"channel_phase_step":6,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":10},"passed":false},{"actual":{"channel_phase_step":6,"channel_uvw":3.0,"frequency_jacobian":0.75,"phase_cycles":0.5,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 1","expected":{"channel_phase_step":6,"channel_uvw":3.0,"frequency_jacobian":0.75,"phase_cycles":8,"physical_baseline":12.0,"time_phase_step":10},"passed":false},{"actual":{"channel_phase_step":0,"channel_uvw":0.0,"frequency_jacobian":0.0,"phase_cycles":0.0,"physical_baseline":0.0,"time_phase_step":10},"check":"astronomical fixture 2","expected":{"channel_phase_step":0,"channel_uvw":0.0,"frequency_jacobian":0.0,"phase_cycles":0,"physical_baseline":0.0,"time_phase_step":10},"passed":true},{"actual":{"channel_phase_step":6,"channel_uvw":-3.5,"frequency_jacobian":-0.4375,"phase_cycles":0.25,"physical_baseline":-7.0,"time_phase_step":-10},"check":"astronomical fixture 3","expected":{"channel_phase_step":6,"channel_uvw":-3.5,"frequency_jacobian":-0.4375,"phase_cycles":16,"physical_baseline":-7.0,"time_phase_step":-10},"passed":false},{"actual":{"channel_phase_step":0,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":0.25,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 4","expected":{"channel_phase_step":0,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":10},"passed":false},{"actual":{"channel_phase_step":6,"channel_uvw":12.0,"frequency_jacobian":1.5,"phase_cycles":0.25,"physical_baseline":12.0,"time_phase_step":2},"check":"astronomical fixture 5","expected":{"channel_phase_step":6,"channel_uvw":12.0,"frequency_jacobian":1.5,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":2},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 0.25, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"channel_uvw\": 3.0, \"physical_baseline\": 12.0, \"phase_cycles\": 0.5, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 3.0, \"physical_baseline\": 12.0, \"phase_cycles\": 8, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"channel_uvw\": 0.0, \"physical_baseline\": 0.0, \"phase_cycles\": 0.0, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.0}, \"expected\": {\"channel_uvw\": 0.0, \"physical_baseline\": 0.0, \"phase_cycles\": 0, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.0}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"channel_uvw\": -3.5, \"physical_baseline\": -7.0, \"phase_cycles\": 0.25, \"channel_phase_step\": 6, \"time_phase_step\": -10, \"frequency_jacobian\": -0.4375}, \"expected\": {\"channel_uvw\": -3.5, \"physical_baseline\": -7.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": -10, \"frequency_jacobian\": -0.4375}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 0.25, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"channel_uvw\": 12.0, \"physical_baseline\": 12.0, \"phase_cycles\": 0.25, \"channel_phase_step\": 6, \"time_phase_step\": 2, \"frequency_jacobian\": 1.5}, \"expected\": {\"channel_uvw\": 12.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": 2, \"frequency_jacobian\": 1.5}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.754,"exit_code":1,"observations":[{"actual":{"channel_phase_step":6,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":8,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 0","expected":{"channel_phase_step":6,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":10},"passed":false},{"actual":{"channel_phase_step":6,"channel_uvw":3.0,"frequency_jacobian":0.75,"phase_cycles":8,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 1","expected":{"channel_phase_step":6,"channel_uvw":3.0,"frequency_jacobian":0.75,"phase_cycles":8,"physical_baseline":12.0,"time_phase_step":10},"passed":true},{"actual":{"channel_phase_step":0,"channel_uvw":0.0,"frequency_jacobian":0.0,"phase_cycles":0,"physical_baseline":0.0,"time_phase_step":10},"check":"astronomical fixture 2","expected":{"channel_phase_step":0,"channel_uvw":0.0,"frequency_jacobian":0.0,"phase_cycles":0,"physical_baseline":0.0,"time_phase_step":10},"passed":true},{"actual":{"channel_phase_step":6,"channel_uvw":-3.5,"frequency_jacobian":-0.4375,"phase_cycles":8,"physical_baseline":-7.0,"time_phase_step":-10},"check":"astronomical fixture 3","expected":{"channel_phase_step":6,"channel_uvw":-3.5,"frequency_jacobian":-0.4375,"phase_cycles":16,"physical_baseline":-7.0,"time_phase_step":-10},"passed":false},{"actual":{"channel_phase_step":0,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":8,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 4","expected":{"channel_phase_step":0,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":10},"passed":false},{"actual":{"channel_phase_step":6,"channel_uvw":12.0,"frequency_jacobian":1.5,"phase_cycles":8,"physical_baseline":12.0,"time_phase_step":2},"check":"astronomical fixture 5","expected":{"channel_phase_step":6,"channel_uvw":12.0,"frequency_jacobian":1.5,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":2},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 8, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"channel_uvw\": 3.0, \"physical_baseline\": 12.0, \"phase_cycles\": 8, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 3.0, \"physical_baseline\": 12.0, \"phase_cycles\": 8, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"channel_uvw\": 0.0, \"physical_baseline\": 0.0, \"phase_cycles\": 0, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.0}, \"expected\": {\"channel_uvw\": 0.0, \"physical_baseline\": 0.0, \"phase_cycles\": 0, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.0}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"channel_uvw\": -3.5, \"physical_baseline\": -7.0, \"phase_cycles\": 8, \"channel_phase_step\": 6, \"time_phase_step\": -10, \"frequency_jacobian\": -0.4375}, \"expected\": {\"channel_uvw\": -3.5, \"physical_baseline\": -7.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": -10, \"frequency_jacobian\": -0.4375}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 8, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"channel_uvw\": 12.0, \"physical_baseline\": 12.0, \"phase_cycles\": 8, \"channel_phase_step\": 6, \"time_phase_step\": 2, \"frequency_jacobian\": 1.5}, \"expected\": {\"channel_uvw\": 12.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": 2, \"frequency_jacobian\": 1.5}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":47.187,"exit_code":0,"observations":[{"actual":{"channel_phase_step":6,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 0","expected":{"channel_phase_step":6,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":10},"passed":true},{"actual":{"channel_phase_step":6,"channel_uvw":3.0,"frequency_jacobian":0.75,"phase_cycles":8,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 1","expected":{"channel_phase_step":6,"channel_uvw":3.0,"frequency_jacobian":0.75,"phase_cycles":8,"physical_baseline":12.0,"time_phase_step":10},"passed":true},{"actual":{"channel_phase_step":0,"channel_uvw":0.0,"frequency_jacobian":0.0,"phase_cycles":0,"physical_baseline":0.0,"time_phase_step":10},"check":"astronomical fixture 2","expected":{"channel_phase_step":0,"channel_uvw":0.0,"frequency_jacobian":0.0,"phase_cycles":0,"physical_baseline":0.0,"time_phase_step":10},"passed":true},{"actual":{"channel_phase_step":6,"channel_uvw":-3.5,"frequency_jacobian":-0.4375,"phase_cycles":16,"physical_baseline":-7.0,"time_phase_step":-10},"check":"astronomical fixture 3","expected":{"channel_phase_step":6,"channel_uvw":-3.5,"frequency_jacobian":-0.4375,"phase_cycles":16,"physical_baseline":-7.0,"time_phase_step":-10},"passed":true},{"actual":{"channel_phase_step":0,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":10},"check":"astronomical fixture 4","expected":{"channel_phase_step":0,"channel_uvw":6.0,"frequency_jacobian":0.75,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":10},"passed":true},{"actual":{"channel_phase_step":6,"channel_uvw":12.0,"frequency_jacobian":1.5,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":2},"check":"astronomical fixture 5","expected":{"channel_phase_step":6,"channel_uvw":12.0,"frequency_jacobian":1.5,"phase_cycles":16,"physical_baseline":12.0,"time_phase_step":2},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"channel_uvw\": 3.0, \"physical_baseline\": 12.0, \"phase_cycles\": 8, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 3.0, \"physical_baseline\": 12.0, \"phase_cycles\": 8, \"channel_phase_step\": 6, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"channel_uvw\": 0.0, \"physical_baseline\": 0.0, \"phase_cycles\": 0, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.0}, \"expected\": {\"channel_uvw\": 0.0, \"physical_baseline\": 0.0, \"phase_cycles\": 0, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.0}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"channel_uvw\": -3.5, \"physical_baseline\": -7.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": -10, \"frequency_jacobian\": -0.4375}, \"expected\": {\"channel_uvw\": -3.5, \"physical_baseline\": -7.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": -10, \"frequency_jacobian\": -0.4375}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"expected\": {\"channel_uvw\": 6.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 0, \"time_phase_step\": 10, \"frequency_jacobian\": 0.75}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"channel_uvw\": 12.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": 2, \"frequency_jacobian\": 1.5}, \"expected\": {\"channel_uvw\": 12.0, \"physical_baseline\": 12.0, \"phase_cycles\": 16, \"channel_phase_step\": 6, \"time_phase_step\": 2, \"frequency_jacobian\": 1.5}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}