{"abstract":"The adapter reports an incorrect channel dispersion while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"A reduced Fabry-Perot scan supplies optical thickness T, integer interference order m>0, cosine q of incidence angle, channel thickness step d, channel k, and separate calibration line wavelength line. Wavelength is 2*(T+k*d)*q/m. Interference order is a coordinate label, not the channel index. Output fields are defined by: wavelength = 2*(d['T']+d['k']*d['d'])*d['q']/d['m']; channel_dispersion = 2*d['d']*d['q']/d['m']; adjacent_order_wavelength = 2*d['T']*d['q']/(d['m']+1); free_spectral_interval = 2*d['T']*d['q']/d['m']-2*d['T']*d['q']/(d['m']+1); normal_incidence = 2*d['T']/d['m']; thickness_from_line = d['line']*d['m']/(2*d['q'])","evaluation_group":"astro-fabry-perot-spectral-order","failed_approach":"A partial convention repair still uses 2*d['d']*d['q']/(d['m']+d['k'])","family":"s3-astronomical-coordinate-conventions-fabry-perot-spectral-order-channel_dispersion","id":"FA-56136","implementations":{"attempt":{"sha256":"b8d5a876ba6b635cbb37c2e1c7f329a43125b120145c26d859a666c714fdd28a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': 2*(d['T']+d['k']*d['d'])*d['q']/d['m'], 'channel_dispersion': 2*d['d']*d['q']/(d['m']+d['k']), 'adjacent_order_wavelength': 2*d['T']*d['q']/(d['m']+1), 'free_spectral_interval': 2*d['T']*d['q']/d['m']-2*d['T']*d['q']/(d['m']+1), 'normal_incidence': 2*d['T']/d['m'], 'thickness_from_line': d['line']*d['m']/(2*d['q'])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'T': 120, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 31.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 63.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.0, 'free_spectral_interval': 12.0, 'normal_incidence': 60.0, 'thickness_from_line': 60.0}), ({'T': 120, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 28.5, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 126.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 60.0, 'free_spectral_interval': 60.0, 'normal_incidence': 240.0, 'thickness_from_line': 30.0}), ({'T': 120, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.0, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.0, 'free_spectral_interval': 3.0, 'normal_incidence': 60.0, 'thickness_from_line': 240.0})], 2: [({'T': 121, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 31.75, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 63.5, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.4, 'free_spectral_interval': 12.100000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 60.0}), ({'T': 121, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.25, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 28.75, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 127.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 60.5, 'free_spectral_interval': 60.5, 'normal_incidence': 242.0, 'thickness_from_line': 30.0}), ({'T': 121, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.125, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.1, 'free_spectral_interval': 3.0250000000000004, 'normal_incidence': 60.5, 'thickness_from_line': 240.0})], 3: [({'T': 122, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 64.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.8, 'free_spectral_interval': 12.200000000000003, 'normal_incidence': 61.0, 'thickness_from_line': 60.0}), ({'T': 122, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.0, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 128.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 61.0, 'free_spectral_interval': 61.0, 'normal_incidence': 244.0, 'thickness_from_line': 30.0}), ({'T': 122, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.25, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.2, 'free_spectral_interval': 3.0500000000000007, 'normal_incidence': 61.0, 'thickness_from_line': 240.0})], 4: [({'T': 123, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.25, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 64.5, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 49.2, 'free_spectral_interval': 12.299999999999997, 'normal_incidence': 61.5, 'thickness_from_line': 60.0}), ({'T': 123, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.75, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.25, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 129.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 61.5, 'free_spectral_interval': 61.5, 'normal_incidence': 246.0, 'thickness_from_line': 30.0}), ({'T': 123, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.375, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.3, 'free_spectral_interval': 3.0749999999999993, 'normal_incidence': 61.5, 'thickness_from_line': 240.0})], 5: [({'T': 124, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 65.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 49.6, 'free_spectral_interval': 12.399999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 60.0}), ({'T': 124, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 31.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.5, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 130.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 62.0, 'free_spectral_interval': 62.0, 'normal_incidence': 248.0, 'thickness_from_line': 30.0}), ({'T': 124, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.5, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.4, 'free_spectral_interval': 3.0999999999999996, 'normal_incidence': 62.0, 'thickness_from_line': 240.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":"ca2245a415b2ea43389c88911a34a7b63bfaf92f76e5f91a30afd1d5bfc2ef8b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': 2*(d['T']+d['k']*d['d'])*d['q']/d['m'], 'channel_dispersion': 2*d['d']/d['m'], 'adjacent_order_wavelength': 2*d['T']*d['q']/(d['m']+1), 'free_spectral_interval': 2*d['T']*d['q']/d['m']-2*d['T']*d['q']/(d['m']+1), 'normal_incidence': 2*d['T']/d['m'], 'thickness_from_line': d['line']*d['m']/(2*d['q'])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'T': 120, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 31.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 63.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.0, 'free_spectral_interval': 12.0, 'normal_incidence': 60.0, 'thickness_from_line': 60.0}), ({'T': 120, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 28.5, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 126.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 60.0, 'free_spectral_interval': 60.0, 'normal_incidence': 240.0, 'thickness_from_line': 30.0}), ({'T': 120, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.0, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.0, 'free_spectral_interval': 3.0, 'normal_incidence': 60.0, 'thickness_from_line': 240.0})], 2: [({'T': 121, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 31.75, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 63.5, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.4, 'free_spectral_interval': 12.100000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 60.0}), ({'T': 121, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.25, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 28.75, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 127.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 60.5, 'free_spectral_interval': 60.5, 'normal_incidence': 242.0, 'thickness_from_line': 30.0}), ({'T': 121, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.125, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.1, 'free_spectral_interval': 3.0250000000000004, 'normal_incidence': 60.5, 'thickness_from_line': 240.0})], 3: [({'T': 122, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 64.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.8, 'free_spectral_interval': 12.200000000000003, 'normal_incidence': 61.0, 'thickness_from_line': 60.0}), ({'T': 122, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.0, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 128.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 61.0, 'free_spectral_interval': 61.0, 'normal_incidence': 244.0, 'thickness_from_line': 30.0}), ({'T': 122, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.25, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.2, 'free_spectral_interval': 3.0500000000000007, 'normal_incidence': 61.0, 'thickness_from_line': 240.0})], 4: [({'T': 123, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.25, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 64.5, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 49.2, 'free_spectral_interval': 12.299999999999997, 'normal_incidence': 61.5, 'thickness_from_line': 60.0}), ({'T': 123, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.75, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.25, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 129.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 61.5, 'free_spectral_interval': 61.5, 'normal_incidence': 246.0, 'thickness_from_line': 30.0}), ({'T': 123, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.375, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.3, 'free_spectral_interval': 3.0749999999999993, 'normal_incidence': 61.5, 'thickness_from_line': 240.0})], 5: [({'T': 124, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 65.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 49.6, 'free_spectral_interval': 12.399999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 60.0}), ({'T': 124, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 31.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.5, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 130.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 62.0, 'free_spectral_interval': 62.0, 'normal_incidence': 248.0, 'thickness_from_line': 30.0}), ({'T': 124, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.5, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.4, 'free_spectral_interval': 3.0999999999999996, 'normal_incidence': 62.0, 'thickness_from_line': 240.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":"e677511fdb5620e6beb9c23e16a22b54bad7d12cf40fbd5c16b6ce9a1c0998f6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': 2*(d['T']+d['k']*d['d'])*d['q']/d['m'], 'channel_dispersion': 2*d['d']*d['q']/d['m'], 'adjacent_order_wavelength': 2*d['T']*d['q']/(d['m']+1), 'free_spectral_interval': 2*d['T']*d['q']/d['m']-2*d['T']*d['q']/(d['m']+1), 'normal_incidence': 2*d['T']/d['m'], 'thickness_from_line': d['line']*d['m']/(2*d['q'])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'T': 120, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 31.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 63.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.0, 'free_spectral_interval': 12.0, 'normal_incidence': 60.0, 'thickness_from_line': 60.0}), ({'T': 120, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 28.5, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.0, 'free_spectral_interval': 6.0, 'normal_incidence': 60.0, 'thickness_from_line': 120.0}), ({'T': 120, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 126.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 60.0, 'free_spectral_interval': 60.0, 'normal_incidence': 240.0, 'thickness_from_line': 30.0}), ({'T': 120, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.0, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.0, 'free_spectral_interval': 3.0, 'normal_incidence': 60.0, 'thickness_from_line': 240.0})], 2: [({'T': 121, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 31.75, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 63.5, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.4, 'free_spectral_interval': 12.100000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 60.0}), ({'T': 121, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.25, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 28.75, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.2, 'free_spectral_interval': 6.050000000000001, 'normal_incidence': 60.5, 'thickness_from_line': 120.0}), ({'T': 121, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 127.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 60.5, 'free_spectral_interval': 60.5, 'normal_incidence': 242.0, 'thickness_from_line': 30.0}), ({'T': 121, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.125, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.1, 'free_spectral_interval': 3.0250000000000004, 'normal_incidence': 60.5, 'thickness_from_line': 240.0})], 3: [({'T': 122, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 64.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 48.8, 'free_spectral_interval': 12.200000000000003, 'normal_incidence': 61.0, 'thickness_from_line': 60.0}), ({'T': 122, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.0, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.4, 'free_spectral_interval': 6.100000000000001, 'normal_incidence': 61.0, 'thickness_from_line': 120.0}), ({'T': 122, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 128.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 61.0, 'free_spectral_interval': 61.0, 'normal_incidence': 244.0, 'thickness_from_line': 30.0}), ({'T': 122, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.25, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.2, 'free_spectral_interval': 3.0500000000000007, 'normal_incidence': 61.0, 'thickness_from_line': 240.0})], 4: [({'T': 123, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.25, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 64.5, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 49.2, 'free_spectral_interval': 12.299999999999997, 'normal_incidence': 61.5, 'thickness_from_line': 60.0}), ({'T': 123, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 30.75, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.25, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.6, 'free_spectral_interval': 6.149999999999999, 'normal_incidence': 61.5, 'thickness_from_line': 120.0}), ({'T': 123, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 129.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 61.5, 'free_spectral_interval': 61.5, 'normal_incidence': 246.0, 'thickness_from_line': 30.0}), ({'T': 123, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.375, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.3, 'free_spectral_interval': 3.0749999999999993, 'normal_incidence': 61.5, 'thickness_from_line': 240.0})], 5: [({'T': 124, 'm': 4, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 32.5, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 4, 'q': 1, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 65.0, 'channel_dispersion': 1.0, 'adjacent_order_wavelength': 49.6, 'free_spectral_interval': 12.399999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 60.0}), ({'T': 124, 'm': 4, 'q': 0.5, 'd': 2, 'k': 0, 'line': 30}, {'wavelength': 31.0, 'channel_dispersion': 0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 4, 'q': 0.5, 'd': -2, 'k': 3, 'line': 30}, {'wavelength': 29.5, 'channel_dispersion': -0.5, 'adjacent_order_wavelength': 24.8, 'free_spectral_interval': 6.199999999999999, 'normal_incidence': 62.0, 'thickness_from_line': 120.0}), ({'T': 124, 'm': 1, 'q': 0.5, 'd': 2, 'k': 3, 'line': 30}, {'wavelength': 130.0, 'channel_dispersion': 2.0, 'adjacent_order_wavelength': 62.0, 'free_spectral_interval': 62.0, 'normal_incidence': 248.0, 'thickness_from_line': 30.0}), ({'T': 124, 'm': 4, 'q': 0.25, 'd': 0, 'k': 3, 'line': 30}, {'wavelength': 15.5, 'channel_dispersion': 0.0, 'adjacent_order_wavelength': 12.4, 'free_spectral_interval': 3.0999999999999996, 'normal_incidence': 62.0, 'thickness_from_line': 240.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-fabry-perot-spectral-order-channel_dispersion","generated_at":"2026-09-29T14:46:04.329490+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: 2*d['d']*d['q']/d['m']","root_cause":"Fabry-Perot dispersion changes interference order with scan channel. Faulty expression: 2*d['d']/d['m']","sha256":"eaf0ec79ba596bd5e73ac4bbb3537879b26316e6af0d0ea2ff46981a7c22e44f","title":"Fabry perot spectral order: Fabry-Perot dispersion changes interference order with scan channel · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.291,"exit_code":1,"observations":[{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.2857142857142857,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":31.5},"check":"astronomical fixture 0","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":31.5},"passed":false},{"actual":{"adjacent_order_wavelength":48.0,"channel_dispersion":0.5714285714285714,"free_spectral_interval":12.0,"normal_incidence":60.0,"thickness_from_line":60.0,"wavelength":63.0},"check":"astronomical fixture 1","expected":{"adjacent_order_wavelength":48.0,"channel_dispersion":1.0,"free_spectral_interval":12.0,"normal_incidence":60.0,"thickness_from_line":60.0,"wavelength":63.0},"passed":false},{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":30.0},"check":"astronomical fixture 2","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":30.0},"passed":true},{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":-0.2857142857142857,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":28.5},"check":"astronomical fixture 3","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":-0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":28.5},"passed":false},{"actual":{"adjacent_order_wavelength":60.0,"channel_dispersion":0.5,"free_spectral_interval":60.0,"normal_incidence":240.0,"thickness_from_line":30.0,"wavelength":126.0},"check":"astronomical fixture 4","expected":{"adjacent_order_wavelength":60.0,"channel_dispersion":2.0,"free_spectral_interval":60.0,"normal_incidence":240.0,"thickness_from_line":30.0,"wavelength":126.0},"passed":false},{"actual":{"adjacent_order_wavelength":12.0,"channel_dispersion":0.0,"free_spectral_interval":3.0,"normal_incidence":60.0,"thickness_from_line":240.0,"wavelength":15.0},"check":"astronomical fixture 5","expected":{"adjacent_order_wavelength":12.0,"channel_dispersion":0.0,"free_spectral_interval":3.0,"normal_incidence":60.0,"thickness_from_line":240.0,"wavelength":15.0},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 31.5, \"channel_dispersion\": 0.2857142857142857, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 31.5, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 63.0, \"channel_dispersion\": 0.5714285714285714, \"adjacent_order_wavelength\": 48.0, \"free_spectral_interval\": 12.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 60.0}, \"expected\": {\"wavelength\": 63.0, \"channel_dispersion\": 1.0, \"adjacent_order_wavelength\": 48.0, \"free_spectral_interval\": 12.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 60.0}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 30.0, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 30.0, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 28.5, \"channel_dispersion\": -0.2857142857142857, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 28.5, \"channel_dispersion\": -0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 126.0, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 60.0, \"free_spectral_interval\": 60.0, \"normal_incidence\": 240.0, \"thickness_from_line\": 30.0}, \"expected\": {\"wavelength\": 126.0, \"channel_dispersion\": 2.0, \"adjacent_order_wavelength\": 60.0, \"free_spectral_interval\": 60.0, \"normal_incidence\": 240.0, \"thickness_from_line\": 30.0}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 15.0, \"channel_dispersion\": 0.0, \"adjacent_order_wavelength\": 12.0, \"free_spectral_interval\": 3.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 240.0}, \"expected\": {\"wavelength\": 15.0, \"channel_dispersion\": 0.0, \"adjacent_order_wavelength\": 12.0, \"free_spectral_interval\": 3.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 240.0}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.645,"exit_code":1,"observations":[{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":1.0,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":31.5},"check":"astronomical fixture 0","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":31.5},"passed":false},{"actual":{"adjacent_order_wavelength":48.0,"channel_dispersion":1.0,"free_spectral_interval":12.0,"normal_incidence":60.0,"thickness_from_line":60.0,"wavelength":63.0},"check":"astronomical fixture 1","expected":{"adjacent_order_wavelength":48.0,"channel_dispersion":1.0,"free_spectral_interval":12.0,"normal_incidence":60.0,"thickness_from_line":60.0,"wavelength":63.0},"passed":true},{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":1.0,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":30.0},"check":"astronomical fixture 2","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":30.0},"passed":false},{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":-1.0,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":28.5},"check":"astronomical fixture 3","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":-0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":28.5},"passed":false},{"actual":{"adjacent_order_wavelength":60.0,"channel_dispersion":4.0,"free_spectral_interval":60.0,"normal_incidence":240.0,"thickness_from_line":30.0,"wavelength":126.0},"check":"astronomical fixture 4","expected":{"adjacent_order_wavelength":60.0,"channel_dispersion":2.0,"free_spectral_interval":60.0,"normal_incidence":240.0,"thickness_from_line":30.0,"wavelength":126.0},"passed":false},{"actual":{"adjacent_order_wavelength":12.0,"channel_dispersion":0.0,"free_spectral_interval":3.0,"normal_incidence":60.0,"thickness_from_line":240.0,"wavelength":15.0},"check":"astronomical fixture 5","expected":{"adjacent_order_wavelength":12.0,"channel_dispersion":0.0,"free_spectral_interval":3.0,"normal_incidence":60.0,"thickness_from_line":240.0,"wavelength":15.0},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 31.5, \"channel_dispersion\": 1.0, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 31.5, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 63.0, \"channel_dispersion\": 1.0, \"adjacent_order_wavelength\": 48.0, \"free_spectral_interval\": 12.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 60.0}, \"expected\": {\"wavelength\": 63.0, \"channel_dispersion\": 1.0, \"adjacent_order_wavelength\": 48.0, \"free_spectral_interval\": 12.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 60.0}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 30.0, \"channel_dispersion\": 1.0, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 30.0, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 28.5, \"channel_dispersion\": -1.0, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 28.5, \"channel_dispersion\": -0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 126.0, \"channel_dispersion\": 4.0, \"adjacent_order_wavelength\": 60.0, \"free_spectral_interval\": 60.0, \"normal_incidence\": 240.0, \"thickness_from_line\": 30.0}, \"expected\": {\"wavelength\": 126.0, \"channel_dispersion\": 2.0, \"adjacent_order_wavelength\": 60.0, \"free_spectral_interval\": 60.0, \"normal_incidence\": 240.0, \"thickness_from_line\": 30.0}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 15.0, \"channel_dispersion\": 0.0, \"adjacent_order_wavelength\": 12.0, \"free_spectral_interval\": 3.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 240.0}, \"expected\": {\"wavelength\": 15.0, \"channel_dispersion\": 0.0, \"adjacent_order_wavelength\": 12.0, \"free_spectral_interval\": 3.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 240.0}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":37.496,"exit_code":0,"observations":[{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":31.5},"check":"astronomical fixture 0","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":31.5},"passed":true},{"actual":{"adjacent_order_wavelength":48.0,"channel_dispersion":1.0,"free_spectral_interval":12.0,"normal_incidence":60.0,"thickness_from_line":60.0,"wavelength":63.0},"check":"astronomical fixture 1","expected":{"adjacent_order_wavelength":48.0,"channel_dispersion":1.0,"free_spectral_interval":12.0,"normal_incidence":60.0,"thickness_from_line":60.0,"wavelength":63.0},"passed":true},{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":30.0},"check":"astronomical fixture 2","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":30.0},"passed":true},{"actual":{"adjacent_order_wavelength":24.0,"channel_dispersion":-0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":28.5},"check":"astronomical fixture 3","expected":{"adjacent_order_wavelength":24.0,"channel_dispersion":-0.5,"free_spectral_interval":6.0,"normal_incidence":60.0,"thickness_from_line":120.0,"wavelength":28.5},"passed":true},{"actual":{"adjacent_order_wavelength":60.0,"channel_dispersion":2.0,"free_spectral_interval":60.0,"normal_incidence":240.0,"thickness_from_line":30.0,"wavelength":126.0},"check":"astronomical fixture 4","expected":{"adjacent_order_wavelength":60.0,"channel_dispersion":2.0,"free_spectral_interval":60.0,"normal_incidence":240.0,"thickness_from_line":30.0,"wavelength":126.0},"passed":true},{"actual":{"adjacent_order_wavelength":12.0,"channel_dispersion":0.0,"free_spectral_interval":3.0,"normal_incidence":60.0,"thickness_from_line":240.0,"wavelength":15.0},"check":"astronomical fixture 5","expected":{"adjacent_order_wavelength":12.0,"channel_dispersion":0.0,"free_spectral_interval":3.0,"normal_incidence":60.0,"thickness_from_line":240.0,"wavelength":15.0},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 31.5, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 31.5, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 63.0, \"channel_dispersion\": 1.0, \"adjacent_order_wavelength\": 48.0, \"free_spectral_interval\": 12.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 60.0}, \"expected\": {\"wavelength\": 63.0, \"channel_dispersion\": 1.0, \"adjacent_order_wavelength\": 48.0, \"free_spectral_interval\": 12.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 60.0}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 30.0, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 30.0, \"channel_dispersion\": 0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 28.5, \"channel_dispersion\": -0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"expected\": {\"wavelength\": 28.5, \"channel_dispersion\": -0.5, \"adjacent_order_wavelength\": 24.0, \"free_spectral_interval\": 6.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 120.0}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 126.0, \"channel_dispersion\": 2.0, \"adjacent_order_wavelength\": 60.0, \"free_spectral_interval\": 60.0, \"normal_incidence\": 240.0, \"thickness_from_line\": 30.0}, \"expected\": {\"wavelength\": 126.0, \"channel_dispersion\": 2.0, \"adjacent_order_wavelength\": 60.0, \"free_spectral_interval\": 60.0, \"normal_incidence\": 240.0, \"thickness_from_line\": 30.0}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 15.0, \"channel_dispersion\": 0.0, \"adjacent_order_wavelength\": 12.0, \"free_spectral_interval\": 3.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 240.0}, \"expected\": {\"wavelength\": 15.0, \"channel_dispersion\": 0.0, \"adjacent_order_wavelength\": 12.0, \"free_spectral_interval\": 3.0, \"normal_incidence\": 60.0, \"thickness_from_line\": 240.0}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}