{"abstract":"The adapter reports an incorrect angular dispersion while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"A stipulated grating adapter supplies spacing g, signed sine of incidence a, signed sine of diffraction b, positive order m, focal length F, and separate calibration line wavelength line. Wavelength is g*(a+b)/m. A Littrow reference has b=a; supplied diffraction cosine c permits a local angular dispersion derivative. Output fields are defined by: wavelength = d['g']*(d['a']+d['b'])/d['m']; littrow_wavelength = 2*d['g']*d['a']/d['m']; angular_dispersion = d['g']*d['c']/d['m']; linear_dispersion = d['g']*d['c']/(d['m']*d['F']); inferred_diffraction_sine = d['m']*d['line']/d['g']-d['a']; next_order_wavelength = d['g']*(d['a']+d['b'])/(d['m']+1)","evaluation_group":"astro-spectrograph-grating-coordinate","failed_approach":"A partial convention repair still uses d['g']/(d['c']*d['m'])","family":"s3-astronomical-coordinate-conventions-spectrograph-grating-coordinate-angular_dispersion","id":"FA-56201","implementations":{"attempt":{"sha256":"b08119f5ce6fd18affd73534e83a2f8d69b85f09c6f13ca6f93c0cd5d356d1a5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': d['g']*(d['a']+d['b'])/d['m'], 'littrow_wavelength': 2*d['g']*d['a']/d['m'], 'angular_dispersion': d['g']/(d['c']*d['m']), 'linear_dispersion': d['g']*d['c']/(d['m']*d['F']), 'inferred_diffraction_sine': d['m']*d['line']/d['g']-d['a'], 'next_order_wavelength': d['g']*(d['a']+d['b'])/(d['m']+1)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 22.5}), ({'g': 120, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.0, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': 0.25, 'next_order_wavelength': 7.5}), ({'g': 120, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 7.5}), ({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 90.0, 'littrow_wavelength': 120.0, 'angular_dispersion': 60.0, 'linear_dispersion': 6.0, 'inferred_diffraction_sine': -0.4166666666666667, 'next_order_wavelength': 45.0}), ({'g': 120, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.0, 'littrow_wavelength': 20.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': 0.0, 'next_order_wavelength': 15.0}), ({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 40.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 22.5})], 2: [({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.25, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 22.6875}), ({'g': 121, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.083333333333334, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': 0.24793388429752067, 'next_order_wavelength': 7.5625}), ({'g': 121, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.083333333333334, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 7.5625}), ({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 90.75, 'littrow_wavelength': 121.0, 'angular_dispersion': 60.5, 'linear_dispersion': 6.05, 'inferred_diffraction_sine': -0.41735537190082644, 'next_order_wavelength': 45.375}), ({'g': 121, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.166666666666668, 'littrow_wavelength': 20.166666666666668, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.002066115702479332, 'next_order_wavelength': 15.125}), ({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.25, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 40.333333333333336, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 22.6875})], 3: [({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.5, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 22.875}), ({'g': 122, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.166666666666666, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': 0.2459016393442623, 'next_order_wavelength': 7.625}), ({'g': 122, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.166666666666666, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 7.625}), ({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 91.5, 'littrow_wavelength': 122.0, 'angular_dispersion': 61.0, 'linear_dispersion': 6.1, 'inferred_diffraction_sine': -0.4180327868852459, 'next_order_wavelength': 45.75}), ({'g': 122, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.333333333333332, 'littrow_wavelength': 20.333333333333332, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.0040983606557377095, 'next_order_wavelength': 15.25}), ({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.5, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 40.666666666666664, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 22.875})], 4: [({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.75, 'littrow_wavelength': 41.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 23.0625}), ({'g': 123, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.25, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': 0.24390243902439024, 'next_order_wavelength': 7.6875}), ({'g': 123, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.25, 'littrow_wavelength': 41.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 7.6875}), ({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 92.25, 'littrow_wavelength': 123.0, 'angular_dispersion': 61.5, 'linear_dispersion': 6.15, 'inferred_diffraction_sine': -0.4186991869918699, 'next_order_wavelength': 46.125}), ({'g': 123, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.5, 'littrow_wavelength': 20.5, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.0060975609756097615, 'next_order_wavelength': 15.375}), ({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.75, 'littrow_wavelength': 41.0, 'angular_dispersion': 41.0, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 23.0625})], 5: [({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 31.0, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 23.25}), ({'g': 124, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.333333333333334, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': 0.24193548387096775, 'next_order_wavelength': 7.75}), ({'g': 124, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.333333333333334, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 7.75}), ({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 93.0, 'littrow_wavelength': 124.0, 'angular_dispersion': 62.0, 'linear_dispersion': 6.2, 'inferred_diffraction_sine': -0.41935483870967744, 'next_order_wavelength': 46.5}), ({'g': 124, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.666666666666668, 'littrow_wavelength': 20.666666666666668, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.008064516129032251, 'next_order_wavelength': 15.5}), ({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 31.0, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 41.333333333333336, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 23.25})]}\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":"f320967a3c1cf5e4c8865fbd56352f25e6400e75219e8608bf1c8dfb505a3a7d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': d['g']*(d['a']+d['b'])/d['m'], 'littrow_wavelength': 2*d['g']*d['a']/d['m'], 'angular_dispersion': d['g']*d['b']/d['m'], 'linear_dispersion': d['g']*d['c']/(d['m']*d['F']), 'inferred_diffraction_sine': d['m']*d['line']/d['g']-d['a'], 'next_order_wavelength': d['g']*(d['a']+d['b'])/(d['m']+1)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 22.5}), ({'g': 120, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.0, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': 0.25, 'next_order_wavelength': 7.5}), ({'g': 120, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 7.5}), ({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 90.0, 'littrow_wavelength': 120.0, 'angular_dispersion': 60.0, 'linear_dispersion': 6.0, 'inferred_diffraction_sine': -0.4166666666666667, 'next_order_wavelength': 45.0}), ({'g': 120, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.0, 'littrow_wavelength': 20.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': 0.0, 'next_order_wavelength': 15.0}), ({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 40.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 22.5})], 2: [({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.25, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 22.6875}), ({'g': 121, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.083333333333334, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': 0.24793388429752067, 'next_order_wavelength': 7.5625}), ({'g': 121, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.083333333333334, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 7.5625}), ({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 90.75, 'littrow_wavelength': 121.0, 'angular_dispersion': 60.5, 'linear_dispersion': 6.05, 'inferred_diffraction_sine': -0.41735537190082644, 'next_order_wavelength': 45.375}), ({'g': 121, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.166666666666668, 'littrow_wavelength': 20.166666666666668, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.002066115702479332, 'next_order_wavelength': 15.125}), ({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.25, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 40.333333333333336, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 22.6875})], 3: [({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.5, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 22.875}), ({'g': 122, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.166666666666666, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': 0.2459016393442623, 'next_order_wavelength': 7.625}), ({'g': 122, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.166666666666666, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 7.625}), ({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 91.5, 'littrow_wavelength': 122.0, 'angular_dispersion': 61.0, 'linear_dispersion': 6.1, 'inferred_diffraction_sine': -0.4180327868852459, 'next_order_wavelength': 45.75}), ({'g': 122, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.333333333333332, 'littrow_wavelength': 20.333333333333332, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.0040983606557377095, 'next_order_wavelength': 15.25}), ({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.5, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 40.666666666666664, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 22.875})], 4: [({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.75, 'littrow_wavelength': 41.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 23.0625}), ({'g': 123, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.25, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': 0.24390243902439024, 'next_order_wavelength': 7.6875}), ({'g': 123, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.25, 'littrow_wavelength': 41.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 7.6875}), ({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 92.25, 'littrow_wavelength': 123.0, 'angular_dispersion': 61.5, 'linear_dispersion': 6.15, 'inferred_diffraction_sine': -0.4186991869918699, 'next_order_wavelength': 46.125}), ({'g': 123, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.5, 'littrow_wavelength': 20.5, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.0060975609756097615, 'next_order_wavelength': 15.375}), ({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.75, 'littrow_wavelength': 41.0, 'angular_dispersion': 41.0, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 23.0625})], 5: [({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 31.0, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 23.25}), ({'g': 124, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.333333333333334, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': 0.24193548387096775, 'next_order_wavelength': 7.75}), ({'g': 124, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.333333333333334, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 7.75}), ({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 93.0, 'littrow_wavelength': 124.0, 'angular_dispersion': 62.0, 'linear_dispersion': 6.2, 'inferred_diffraction_sine': -0.41935483870967744, 'next_order_wavelength': 46.5}), ({'g': 124, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.666666666666668, 'littrow_wavelength': 20.666666666666668, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.008064516129032251, 'next_order_wavelength': 15.5}), ({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 31.0, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 41.333333333333336, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 23.25})]}\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":"9eaec25ec7e168fab3b9dbae5430bd8cd32af695896f1cdbdbeacfe26d534e5c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': d['g']*(d['a']+d['b'])/d['m'], 'littrow_wavelength': 2*d['g']*d['a']/d['m'], 'angular_dispersion': d['g']*d['c']/d['m'], 'linear_dispersion': d['g']*d['c']/(d['m']*d['F']), 'inferred_diffraction_sine': d['m']*d['line']/d['g']-d['a'], 'next_order_wavelength': d['g']*(d['a']+d['b'])/(d['m']+1)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 22.5}), ({'g': 120, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.0, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': 0.25, 'next_order_wavelength': 7.5}), ({'g': 120, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 7.5}), ({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 90.0, 'littrow_wavelength': 120.0, 'angular_dispersion': 60.0, 'linear_dispersion': 6.0, 'inferred_diffraction_sine': -0.4166666666666667, 'next_order_wavelength': 45.0}), ({'g': 120, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.0, 'littrow_wavelength': 20.0, 'angular_dispersion': 20.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': 0.0, 'next_order_wavelength': 15.0}), ({'g': 120, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.0, 'littrow_wavelength': 40.0, 'angular_dispersion': 40.0, 'linear_dispersion': 2.0, 'inferred_diffraction_sine': -0.25, 'next_order_wavelength': 22.5})], 2: [({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.25, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 22.6875}), ({'g': 121, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.083333333333334, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': 0.24793388429752067, 'next_order_wavelength': 7.5625}), ({'g': 121, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.083333333333334, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 7.5625}), ({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 90.75, 'littrow_wavelength': 121.0, 'angular_dispersion': 60.5, 'linear_dispersion': 6.05, 'inferred_diffraction_sine': -0.41735537190082644, 'next_order_wavelength': 45.375}), ({'g': 121, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.166666666666668, 'littrow_wavelength': 20.166666666666668, 'angular_dispersion': 20.166666666666668, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.002066115702479332, 'next_order_wavelength': 15.125}), ({'g': 121, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.25, 'littrow_wavelength': 40.333333333333336, 'angular_dispersion': 40.333333333333336, 'linear_dispersion': 2.0166666666666666, 'inferred_diffraction_sine': -0.25206611570247933, 'next_order_wavelength': 22.6875})], 3: [({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.5, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 22.875}), ({'g': 122, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.166666666666666, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': 0.2459016393442623, 'next_order_wavelength': 7.625}), ({'g': 122, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.166666666666666, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 7.625}), ({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 91.5, 'littrow_wavelength': 122.0, 'angular_dispersion': 61.0, 'linear_dispersion': 6.1, 'inferred_diffraction_sine': -0.4180327868852459, 'next_order_wavelength': 45.75}), ({'g': 122, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.333333333333332, 'littrow_wavelength': 20.333333333333332, 'angular_dispersion': 20.333333333333332, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.0040983606557377095, 'next_order_wavelength': 15.25}), ({'g': 122, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.5, 'littrow_wavelength': 40.666666666666664, 'angular_dispersion': 40.666666666666664, 'linear_dispersion': 2.033333333333333, 'inferred_diffraction_sine': -0.2540983606557377, 'next_order_wavelength': 22.875})], 4: [({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 30.75, 'littrow_wavelength': 41.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 23.0625}), ({'g': 123, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.25, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': 0.24390243902439024, 'next_order_wavelength': 7.6875}), ({'g': 123, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.25, 'littrow_wavelength': 41.0, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 7.6875}), ({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 92.25, 'littrow_wavelength': 123.0, 'angular_dispersion': 61.5, 'linear_dispersion': 6.15, 'inferred_diffraction_sine': -0.4186991869918699, 'next_order_wavelength': 46.125}), ({'g': 123, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.5, 'littrow_wavelength': 20.5, 'angular_dispersion': 20.5, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.0060975609756097615, 'next_order_wavelength': 15.375}), ({'g': 123, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 30.75, 'littrow_wavelength': 41.0, 'angular_dispersion': 41.0, 'linear_dispersion': 2.05, 'inferred_diffraction_sine': -0.25609756097560976, 'next_order_wavelength': 23.0625})], 5: [({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 31.0, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 23.25}), ({'g': 124, 'a': 0, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.333333333333334, 'littrow_wavelength': 0.0, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': 0.24193548387096775, 'next_order_wavelength': 7.75}), ({'g': 124, 'a': 0.5, 'b': -0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 10.333333333333334, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 7.75}), ({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 1, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 93.0, 'littrow_wavelength': 124.0, 'angular_dispersion': 62.0, 'linear_dispersion': 6.2, 'inferred_diffraction_sine': -0.41935483870967744, 'next_order_wavelength': 46.5}), ({'g': 124, 'a': 0.25, 'b': 0.25, 'm': 3, 'F': 10, 'c': 0.5, 'line': 10}, {'wavelength': 20.666666666666668, 'littrow_wavelength': 20.666666666666668, 'angular_dispersion': 20.666666666666668, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.008064516129032251, 'next_order_wavelength': 15.5}), ({'g': 124, 'a': 0.5, 'b': 0.25, 'm': 3, 'F': 20, 'c': 1, 'line': 10}, {'wavelength': 31.0, 'littrow_wavelength': 41.333333333333336, 'angular_dispersion': 41.333333333333336, 'linear_dispersion': 2.066666666666667, 'inferred_diffraction_sine': -0.25806451612903225, 'next_order_wavelength': 23.25})]}\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-spectrograph-grating-coordinate-angular_dispersion","generated_at":"2026-09-29T14:46:04.969063+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['g']*d['c']/d['m']","root_cause":"Grating wavelength derivative substitutes sine for supplied diffraction cosine. Faulty expression: d['g']*d['b']/d['m']","sha256":"a8a50dbf13e88fc675ce2dc9c32ece615574850a26ed4bf1b3cc6579a942fb0c","title":"Spectrograph grating coordinate: Grating wavelength derivative substitutes sine for supplied diffraction cosine · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.736,"exit_code":1,"observations":[{"actual":{"angular_dispersion":80.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"check":"astronomical fixture 0","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"passed":false},{"actual":{"angular_dispersion":80.0,"inferred_diffraction_sine":0.25,"linear_dispersion":2.0,"littrow_wavelength":0.0,"next_order_wavelength":7.5,"wavelength":10.0},"check":"astronomical fixture 1","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":0.25,"linear_dispersion":2.0,"littrow_wavelength":0.0,"next_order_wavelength":7.5,"wavelength":10.0},"passed":false},{"actual":{"angular_dispersion":80.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":7.5,"wavelength":10.0},"check":"astronomical fixture 2","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":7.5,"wavelength":10.0},"passed":false},{"actual":{"angular_dispersion":240.0,"inferred_diffraction_sine":-0.4166666666666667,"linear_dispersion":6.0,"littrow_wavelength":120.0,"next_order_wavelength":45.0,"wavelength":90.0},"check":"astronomical fixture 3","expected":{"angular_dispersion":60.0,"inferred_diffraction_sine":-0.4166666666666667,"linear_dispersion":6.0,"littrow_wavelength":120.0,"next_order_wavelength":45.0,"wavelength":90.0},"passed":false},{"actual":{"angular_dispersion":80.0,"inferred_diffraction_sine":0.0,"linear_dispersion":2.0,"littrow_wavelength":20.0,"next_order_wavelength":15.0,"wavelength":20.0},"check":"astronomical fixture 4","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":0.0,"linear_dispersion":2.0,"littrow_wavelength":20.0,"next_order_wavelength":15.0,"wavelength":20.0},"passed":false},{"actual":{"angular_dispersion":40.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"check":"astronomical fixture 5","expected":{"angular_dispersion":40.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 80.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"expected\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 10.0, \"littrow_wavelength\": 0.0, \"angular_dispersion\": 80.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.25, \"next_order_wavelength\": 7.5}, \"expected\": {\"wavelength\": 10.0, \"littrow_wavelength\": 0.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.25, \"next_order_wavelength\": 7.5}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 10.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 80.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 7.5}, \"expected\": {\"wavelength\": 10.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 7.5}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 90.0, \"littrow_wavelength\": 120.0, \"angular_dispersion\": 240.0, \"linear_dispersion\": 6.0, \"inferred_diffraction_sine\": -0.4166666666666667, \"next_order_wavelength\": 45.0}, \"expected\": {\"wavelength\": 90.0, \"littrow_wavelength\": 120.0, \"angular_dispersion\": 60.0, \"linear_dispersion\": 6.0, \"inferred_diffraction_sine\": -0.4166666666666667, \"next_order_wavelength\": 45.0}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 20.0, \"littrow_wavelength\": 20.0, \"angular_dispersion\": 80.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.0, \"next_order_wavelength\": 15.0}, \"expected\": {\"wavelength\": 20.0, \"littrow_wavelength\": 20.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.0, \"next_order_wavelength\": 15.0}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 40.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"expected\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 40.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.059,"exit_code":1,"observations":[{"actual":{"angular_dispersion":10.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"check":"astronomical fixture 0","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"passed":false},{"actual":{"angular_dispersion":10.0,"inferred_diffraction_sine":0.25,"linear_dispersion":2.0,"littrow_wavelength":0.0,"next_order_wavelength":7.5,"wavelength":10.0},"check":"astronomical fixture 1","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":0.25,"linear_dispersion":2.0,"littrow_wavelength":0.0,"next_order_wavelength":7.5,"wavelength":10.0},"passed":false},{"actual":{"angular_dispersion":-10.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":7.5,"wavelength":10.0},"check":"astronomical fixture 2","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":7.5,"wavelength":10.0},"passed":false},{"actual":{"angular_dispersion":30.0,"inferred_diffraction_sine":-0.4166666666666667,"linear_dispersion":6.0,"littrow_wavelength":120.0,"next_order_wavelength":45.0,"wavelength":90.0},"check":"astronomical fixture 3","expected":{"angular_dispersion":60.0,"inferred_diffraction_sine":-0.4166666666666667,"linear_dispersion":6.0,"littrow_wavelength":120.0,"next_order_wavelength":45.0,"wavelength":90.0},"passed":false},{"actual":{"angular_dispersion":10.0,"inferred_diffraction_sine":0.0,"linear_dispersion":2.0,"littrow_wavelength":20.0,"next_order_wavelength":15.0,"wavelength":20.0},"check":"astronomical fixture 4","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":0.0,"linear_dispersion":2.0,"littrow_wavelength":20.0,"next_order_wavelength":15.0,"wavelength":20.0},"passed":false},{"actual":{"angular_dispersion":10.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"check":"astronomical fixture 5","expected":{"angular_dispersion":40.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 10.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"expected\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 10.0, \"littrow_wavelength\": 0.0, \"angular_dispersion\": 10.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.25, \"next_order_wavelength\": 7.5}, \"expected\": {\"wavelength\": 10.0, \"littrow_wavelength\": 0.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.25, \"next_order_wavelength\": 7.5}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 10.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": -10.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 7.5}, \"expected\": {\"wavelength\": 10.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 7.5}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 90.0, \"littrow_wavelength\": 120.0, \"angular_dispersion\": 30.0, \"linear_dispersion\": 6.0, \"inferred_diffraction_sine\": -0.4166666666666667, \"next_order_wavelength\": 45.0}, \"expected\": {\"wavelength\": 90.0, \"littrow_wavelength\": 120.0, \"angular_dispersion\": 60.0, \"linear_dispersion\": 6.0, \"inferred_diffraction_sine\": -0.4166666666666667, \"next_order_wavelength\": 45.0}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 20.0, \"littrow_wavelength\": 20.0, \"angular_dispersion\": 10.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.0, \"next_order_wavelength\": 15.0}, \"expected\": {\"wavelength\": 20.0, \"littrow_wavelength\": 20.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.0, \"next_order_wavelength\": 15.0}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 10.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"expected\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 40.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.61,"exit_code":0,"observations":[{"actual":{"angular_dispersion":20.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"check":"astronomical fixture 0","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"passed":true},{"actual":{"angular_dispersion":20.0,"inferred_diffraction_sine":0.25,"linear_dispersion":2.0,"littrow_wavelength":0.0,"next_order_wavelength":7.5,"wavelength":10.0},"check":"astronomical fixture 1","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":0.25,"linear_dispersion":2.0,"littrow_wavelength":0.0,"next_order_wavelength":7.5,"wavelength":10.0},"passed":true},{"actual":{"angular_dispersion":20.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":7.5,"wavelength":10.0},"check":"astronomical fixture 2","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":7.5,"wavelength":10.0},"passed":true},{"actual":{"angular_dispersion":60.0,"inferred_diffraction_sine":-0.4166666666666667,"linear_dispersion":6.0,"littrow_wavelength":120.0,"next_order_wavelength":45.0,"wavelength":90.0},"check":"astronomical fixture 3","expected":{"angular_dispersion":60.0,"inferred_diffraction_sine":-0.4166666666666667,"linear_dispersion":6.0,"littrow_wavelength":120.0,"next_order_wavelength":45.0,"wavelength":90.0},"passed":true},{"actual":{"angular_dispersion":20.0,"inferred_diffraction_sine":0.0,"linear_dispersion":2.0,"littrow_wavelength":20.0,"next_order_wavelength":15.0,"wavelength":20.0},"check":"astronomical fixture 4","expected":{"angular_dispersion":20.0,"inferred_diffraction_sine":0.0,"linear_dispersion":2.0,"littrow_wavelength":20.0,"next_order_wavelength":15.0,"wavelength":20.0},"passed":true},{"actual":{"angular_dispersion":40.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"check":"astronomical fixture 5","expected":{"angular_dispersion":40.0,"inferred_diffraction_sine":-0.25,"linear_dispersion":2.0,"littrow_wavelength":40.0,"next_order_wavelength":22.5,"wavelength":30.0},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"expected\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 10.0, \"littrow_wavelength\": 0.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.25, \"next_order_wavelength\": 7.5}, \"expected\": {\"wavelength\": 10.0, \"littrow_wavelength\": 0.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.25, \"next_order_wavelength\": 7.5}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 10.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 7.5}, \"expected\": {\"wavelength\": 10.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 7.5}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 90.0, \"littrow_wavelength\": 120.0, \"angular_dispersion\": 60.0, \"linear_dispersion\": 6.0, \"inferred_diffraction_sine\": -0.4166666666666667, \"next_order_wavelength\": 45.0}, \"expected\": {\"wavelength\": 90.0, \"littrow_wavelength\": 120.0, \"angular_dispersion\": 60.0, \"linear_dispersion\": 6.0, \"inferred_diffraction_sine\": -0.4166666666666667, \"next_order_wavelength\": 45.0}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 20.0, \"littrow_wavelength\": 20.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.0, \"next_order_wavelength\": 15.0}, \"expected\": {\"wavelength\": 20.0, \"littrow_wavelength\": 20.0, \"angular_dispersion\": 20.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": 0.0, \"next_order_wavelength\": 15.0}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 40.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"expected\": {\"wavelength\": 30.0, \"littrow_wavelength\": 40.0, \"angular_dispersion\": 40.0, \"linear_dispersion\": 2.0, \"inferred_diffraction_sine\": -0.25, \"next_order_wavelength\": 22.5}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}