{"abstract":"The adapter reports an incorrect redshifted pixel while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"A discrete logarithmic spectrum uses lambda(p)=L0*b**(p-r), b a positive integer >=2 and integer p,r. Redshift by a grid factor b**k is an additive pixel shift k. Coarse bin stride s changes the multiplicative channel ratio. Output fields are defined by: wavelength = d['L0']*d['b']**(d['p']-d['r']); next_wavelength = d['L0']*d['b']**(d['p']+1-d['r']); redshifted_pixel = d['p']+d['k']; rest_pixel = d['p']-d['k']; coarse_ratio = d['b']**d['s']; channel_width = d['L0']*d['b']**(d['p']-d['r'])*(d['b']-1)","evaluation_group":"astro-logarithmic-spectral-index","failed_approach":"A partial convention repair still uses d['p']-d['k']","family":"s3-astronomical-coordinate-conventions-logarithmic-spectral-index-redshifted_pixel","id":"FA-55601","implementations":{"attempt":{"sha256":"bab375868143015c666395c28831899e0b8383b24637143111e6441b01153a88","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': d['L0']*d['b']**(d['p']-d['r']), 'next_wavelength': d['L0']*d['b']**(d['p']+1-d['r']), 'redshifted_pixel': d['p']-d['k'], 'rest_pixel': d['p']-d['k'], 'coarse_ratio': d['b']**d['s'], 'channel_width': d['L0']*d['b']**(d['p']-d['r'])*(d['b']-1)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 2, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 8, 'next_wavelength': 16, 'redshifted_pixel': 4, 'rest_pixel': 0, 'coarse_ratio': 4, 'channel_width': 8}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 4, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 3, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 72, 'next_wavelength': 216, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 9, 'channel_width': 144}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 2, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 16, 'next_wavelength': 32, 'redshifted_pixel': 3, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 16})], 2: [({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 3, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 16, 'next_wavelength': 32, 'redshifted_pixel': 5, 'rest_pixel': 1, 'coarse_ratio': 4, 'channel_width': 16}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 5, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 3, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 216, 'next_wavelength': 648, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 9, 'channel_width': 432}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 2, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 4, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 32})], 3: [({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 6, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 3, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 648, 'next_wavelength': 1944, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 9, 'channel_width': 1296}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 2, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 5, 'rest_pixel': 7, 'coarse_ratio': 4, 'channel_width': 64})], 4: [({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 256}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 7, 'rest_pixel': 7, 'coarse_ratio': 4, 'channel_width': 256}), ({'L0': 8, 'b': 3, 'p': 7, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 1944, 'next_wavelength': 5832, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 9, 'channel_width': 3888}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 2, 'channel_width': 256}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 6, 'rest_pixel': 8, 'coarse_ratio': 4, 'channel_width': 128})], 5: [({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 512}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 8, 'rest_pixel': 8, 'coarse_ratio': 4, 'channel_width': 512}), ({'L0': 8, 'b': 3, 'p': 8, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 5832, 'next_wavelength': 17496, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 9, 'channel_width': 11664}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 2, 'channel_width': 512}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 7, 'rest_pixel': 9, 'coarse_ratio': 4, 'channel_width': 256})]}\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":"7851b19a633cfc99be45cac0fc880c218ad64c634ed7e1f26fc706b41ab56b48","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': d['L0']*d['b']**(d['p']-d['r']), 'next_wavelength': d['L0']*d['b']**(d['p']+1-d['r']), 'redshifted_pixel': d['p']*d['b']**d['k'], 'rest_pixel': d['p']-d['k'], 'coarse_ratio': d['b']**d['s'], 'channel_width': d['L0']*d['b']**(d['p']-d['r'])*(d['b']-1)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 2, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 8, 'next_wavelength': 16, 'redshifted_pixel': 4, 'rest_pixel': 0, 'coarse_ratio': 4, 'channel_width': 8}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 4, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 3, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 72, 'next_wavelength': 216, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 9, 'channel_width': 144}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 2, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 16, 'next_wavelength': 32, 'redshifted_pixel': 3, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 16})], 2: [({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 3, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 16, 'next_wavelength': 32, 'redshifted_pixel': 5, 'rest_pixel': 1, 'coarse_ratio': 4, 'channel_width': 16}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 5, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 3, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 216, 'next_wavelength': 648, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 9, 'channel_width': 432}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 2, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 4, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 32})], 3: [({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 6, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 3, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 648, 'next_wavelength': 1944, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 9, 'channel_width': 1296}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 2, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 5, 'rest_pixel': 7, 'coarse_ratio': 4, 'channel_width': 64})], 4: [({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 256}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 7, 'rest_pixel': 7, 'coarse_ratio': 4, 'channel_width': 256}), ({'L0': 8, 'b': 3, 'p': 7, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 1944, 'next_wavelength': 5832, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 9, 'channel_width': 3888}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 2, 'channel_width': 256}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 6, 'rest_pixel': 8, 'coarse_ratio': 4, 'channel_width': 128})], 5: [({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 512}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 8, 'rest_pixel': 8, 'coarse_ratio': 4, 'channel_width': 512}), ({'L0': 8, 'b': 3, 'p': 8, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 5832, 'next_wavelength': 17496, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 9, 'channel_width': 11664}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 2, 'channel_width': 512}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 7, 'rest_pixel': 9, 'coarse_ratio': 4, 'channel_width': 256})]}\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":"b4638d8b96eedd12fc78a2d3fc9c40b3ed29d26a10e8aae644166b1be4a51c9f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'wavelength': d['L0']*d['b']**(d['p']-d['r']), 'next_wavelength': d['L0']*d['b']**(d['p']+1-d['r']), 'redshifted_pixel': d['p']+d['k'], 'rest_pixel': d['p']-d['k'], 'coarse_ratio': d['b']**d['s'], 'channel_width': d['L0']*d['b']**(d['p']-d['r'])*(d['b']-1)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 2, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 8, 'next_wavelength': 16, 'redshifted_pixel': 4, 'rest_pixel': 0, 'coarse_ratio': 4, 'channel_width': 8}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 4, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 3, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 72, 'next_wavelength': 216, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 9, 'channel_width': 144}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 2, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 16, 'next_wavelength': 32, 'redshifted_pixel': 3, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 16})], 2: [({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 3, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 16, 'next_wavelength': 32, 'redshifted_pixel': 5, 'rest_pixel': 1, 'coarse_ratio': 4, 'channel_width': 16}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 5, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 3, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 216, 'next_wavelength': 648, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 9, 'channel_width': 432}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 2, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 4, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 32})], 3: [({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 4, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 32, 'next_wavelength': 64, 'redshifted_pixel': 6, 'rest_pixel': 2, 'coarse_ratio': 4, 'channel_width': 32}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 6, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 3, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 648, 'next_wavelength': 1944, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 9, 'channel_width': 1296}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 2, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 5, 'rest_pixel': 7, 'coarse_ratio': 4, 'channel_width': 64})], 4: [({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 4, 'channel_width': 256}), ({'L0': 8, 'b': 2, 'p': 5, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 64, 'next_wavelength': 128, 'redshifted_pixel': 7, 'rest_pixel': 3, 'coarse_ratio': 4, 'channel_width': 64}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 7, 'rest_pixel': 7, 'coarse_ratio': 4, 'channel_width': 256}), ({'L0': 8, 'b': 3, 'p': 7, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 1944, 'next_wavelength': 5832, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 9, 'channel_width': 3888}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 9, 'rest_pixel': 5, 'coarse_ratio': 2, 'channel_width': 256}), ({'L0': 8, 'b': 2, 'p': 7, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 6, 'rest_pixel': 8, 'coarse_ratio': 4, 'channel_width': 128})], 5: [({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 4, 'channel_width': 512}), ({'L0': 8, 'b': 2, 'p': 6, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 128, 'next_wavelength': 256, 'redshifted_pixel': 8, 'rest_pixel': 4, 'coarse_ratio': 4, 'channel_width': 128}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 0, 's': 2}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 8, 'rest_pixel': 8, 'coarse_ratio': 4, 'channel_width': 512}), ({'L0': 8, 'b': 3, 'p': 8, 'r': 2, 'k': 2, 's': 2}, {'wavelength': 5832, 'next_wavelength': 17496, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 9, 'channel_width': 11664}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 2, 'k': 2, 's': 1}, {'wavelength': 512, 'next_wavelength': 1024, 'redshifted_pixel': 10, 'rest_pixel': 6, 'coarse_ratio': 2, 'channel_width': 512}), ({'L0': 8, 'b': 2, 'p': 8, 'r': 3, 'k': -1, 's': 2}, {'wavelength': 256, 'next_wavelength': 512, 'redshifted_pixel': 7, 'rest_pixel': 9, 'coarse_ratio': 4, 'channel_width': 256})]}\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-logarithmic-spectral-index-redshifted_pixel","generated_at":"2026-09-29T14:45:59.380036+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Catalog, detector, sky-coordinate, and spectroscopy adapters must preserve the association between numeric coordinates and their declared reference conventions.","repair":"Preserve the declared model convention at this site: d['p']+d['k']","root_cause":"Redshift on a log-wavelength grid is applied as pixel scaling. Faulty expression: d['p']*d['b']**d['k']","sha256":"da7db87708f0f61333f1d888cea765b41b712b4aeb93a9786eb08ce7924e1b1c","title":"Logarithmic spectral index: Redshift on a log-wavelength grid is applied as pixel scaling · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.469,"exit_code":1,"observations":[{"actual":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":2,"rest_pixel":2,"wavelength":32},"check":"astronomical fixture 0","expected":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":32},"passed":false},{"actual":{"channel_width":8,"coarse_ratio":4,"next_wavelength":16,"redshifted_pixel":0,"rest_pixel":0,"wavelength":8},"check":"astronomical fixture 1","expected":{"channel_width":8,"coarse_ratio":4,"next_wavelength":16,"redshifted_pixel":4,"rest_pixel":0,"wavelength":8},"passed":false},{"actual":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":4,"rest_pixel":4,"wavelength":32},"check":"astronomical fixture 2","expected":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":4,"rest_pixel":4,"wavelength":32},"passed":true},{"actual":{"channel_width":144,"coarse_ratio":9,"next_wavelength":216,"redshifted_pixel":2,"rest_pixel":2,"wavelength":72},"check":"astronomical fixture 3","expected":{"channel_width":144,"coarse_ratio":9,"next_wavelength":216,"redshifted_pixel":6,"rest_pixel":2,"wavelength":72},"passed":false},{"actual":{"channel_width":32,"coarse_ratio":2,"next_wavelength":64,"redshifted_pixel":2,"rest_pixel":2,"wavelength":32},"check":"astronomical fixture 4","expected":{"channel_width":32,"coarse_ratio":2,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":32},"passed":false},{"actual":{"channel_width":16,"coarse_ratio":4,"next_wavelength":32,"redshifted_pixel":5,"rest_pixel":5,"wavelength":16},"check":"astronomical fixture 5","expected":{"channel_width":16,"coarse_ratio":4,"next_wavelength":32,"redshifted_pixel":3,"rest_pixel":5,"wavelength":16},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 2, \"rest_pixel\": 2, \"coarse_ratio\": 4, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 4, \"channel_width\": 32}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 8, \"next_wavelength\": 16, \"redshifted_pixel\": 0, \"rest_pixel\": 0, \"coarse_ratio\": 4, \"channel_width\": 8}, \"expected\": {\"wavelength\": 8, \"next_wavelength\": 16, \"redshifted_pixel\": 4, \"rest_pixel\": 0, \"coarse_ratio\": 4, \"channel_width\": 8}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 4, \"rest_pixel\": 4, \"coarse_ratio\": 4, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 4, \"rest_pixel\": 4, \"coarse_ratio\": 4, \"channel_width\": 32}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 72, \"next_wavelength\": 216, \"redshifted_pixel\": 2, \"rest_pixel\": 2, \"coarse_ratio\": 9, \"channel_width\": 144}, \"expected\": {\"wavelength\": 72, \"next_wavelength\": 216, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 9, \"channel_width\": 144}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 2, \"rest_pixel\": 2, \"coarse_ratio\": 2, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 2, \"channel_width\": 32}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 16, \"next_wavelength\": 32, \"redshifted_pixel\": 5, \"rest_pixel\": 5, \"coarse_ratio\": 4, \"channel_width\": 16}, \"expected\": {\"wavelength\": 16, \"next_wavelength\": 32, \"redshifted_pixel\": 3, \"rest_pixel\": 5, \"coarse_ratio\": 4, \"channel_width\": 16}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.747,"exit_code":1,"observations":[{"actual":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":16,"rest_pixel":2,"wavelength":32},"check":"astronomical fixture 0","expected":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":32},"passed":false},{"actual":{"channel_width":8,"coarse_ratio":4,"next_wavelength":16,"redshifted_pixel":8,"rest_pixel":0,"wavelength":8},"check":"astronomical fixture 1","expected":{"channel_width":8,"coarse_ratio":4,"next_wavelength":16,"redshifted_pixel":4,"rest_pixel":0,"wavelength":8},"passed":false},{"actual":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":4,"rest_pixel":4,"wavelength":32},"check":"astronomical fixture 2","expected":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":4,"rest_pixel":4,"wavelength":32},"passed":true},{"actual":{"channel_width":144,"coarse_ratio":9,"next_wavelength":216,"redshifted_pixel":36,"rest_pixel":2,"wavelength":72},"check":"astronomical fixture 3","expected":{"channel_width":144,"coarse_ratio":9,"next_wavelength":216,"redshifted_pixel":6,"rest_pixel":2,"wavelength":72},"passed":false},{"actual":{"channel_width":32,"coarse_ratio":2,"next_wavelength":64,"redshifted_pixel":16,"rest_pixel":2,"wavelength":32},"check":"astronomical fixture 4","expected":{"channel_width":32,"coarse_ratio":2,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":32},"passed":false},{"actual":{"channel_width":16,"coarse_ratio":4,"next_wavelength":32,"redshifted_pixel":2.0,"rest_pixel":5,"wavelength":16},"check":"astronomical fixture 5","expected":{"channel_width":16,"coarse_ratio":4,"next_wavelength":32,"redshifted_pixel":3,"rest_pixel":5,"wavelength":16},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 16, \"rest_pixel\": 2, \"coarse_ratio\": 4, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 4, \"channel_width\": 32}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 8, \"next_wavelength\": 16, \"redshifted_pixel\": 8, \"rest_pixel\": 0, \"coarse_ratio\": 4, \"channel_width\": 8}, \"expected\": {\"wavelength\": 8, \"next_wavelength\": 16, \"redshifted_pixel\": 4, \"rest_pixel\": 0, \"coarse_ratio\": 4, \"channel_width\": 8}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 4, \"rest_pixel\": 4, \"coarse_ratio\": 4, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 4, \"rest_pixel\": 4, \"coarse_ratio\": 4, \"channel_width\": 32}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 72, \"next_wavelength\": 216, \"redshifted_pixel\": 36, \"rest_pixel\": 2, \"coarse_ratio\": 9, \"channel_width\": 144}, \"expected\": {\"wavelength\": 72, \"next_wavelength\": 216, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 9, \"channel_width\": 144}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 16, \"rest_pixel\": 2, \"coarse_ratio\": 2, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 2, \"channel_width\": 32}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 16, \"next_wavelength\": 32, \"redshifted_pixel\": 2.0, \"rest_pixel\": 5, \"coarse_ratio\": 4, \"channel_width\": 16}, \"expected\": {\"wavelength\": 16, \"next_wavelength\": 32, \"redshifted_pixel\": 3, \"rest_pixel\": 5, \"coarse_ratio\": 4, \"channel_width\": 16}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.654,"exit_code":0,"observations":[{"actual":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":32},"check":"astronomical fixture 0","expected":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":32},"passed":true},{"actual":{"channel_width":8,"coarse_ratio":4,"next_wavelength":16,"redshifted_pixel":4,"rest_pixel":0,"wavelength":8},"check":"astronomical fixture 1","expected":{"channel_width":8,"coarse_ratio":4,"next_wavelength":16,"redshifted_pixel":4,"rest_pixel":0,"wavelength":8},"passed":true},{"actual":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":4,"rest_pixel":4,"wavelength":32},"check":"astronomical fixture 2","expected":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":4,"rest_pixel":4,"wavelength":32},"passed":true},{"actual":{"channel_width":144,"coarse_ratio":9,"next_wavelength":216,"redshifted_pixel":6,"rest_pixel":2,"wavelength":72},"check":"astronomical fixture 3","expected":{"channel_width":144,"coarse_ratio":9,"next_wavelength":216,"redshifted_pixel":6,"rest_pixel":2,"wavelength":72},"passed":true},{"actual":{"channel_width":32,"coarse_ratio":2,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":32},"check":"astronomical fixture 4","expected":{"channel_width":32,"coarse_ratio":2,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":32},"passed":true},{"actual":{"channel_width":16,"coarse_ratio":4,"next_wavelength":32,"redshifted_pixel":3,"rest_pixel":5,"wavelength":16},"check":"astronomical fixture 5","expected":{"channel_width":16,"coarse_ratio":4,"next_wavelength":32,"redshifted_pixel":3,"rest_pixel":5,"wavelength":16},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 4, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 4, \"channel_width\": 32}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 8, \"next_wavelength\": 16, \"redshifted_pixel\": 4, \"rest_pixel\": 0, \"coarse_ratio\": 4, \"channel_width\": 8}, \"expected\": {\"wavelength\": 8, \"next_wavelength\": 16, \"redshifted_pixel\": 4, \"rest_pixel\": 0, \"coarse_ratio\": 4, \"channel_width\": 8}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 4, \"rest_pixel\": 4, \"coarse_ratio\": 4, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 4, \"rest_pixel\": 4, \"coarse_ratio\": 4, \"channel_width\": 32}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 72, \"next_wavelength\": 216, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 9, \"channel_width\": 144}, \"expected\": {\"wavelength\": 72, \"next_wavelength\": 216, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 9, \"channel_width\": 144}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 2, \"channel_width\": 32}, \"expected\": {\"wavelength\": 32, \"next_wavelength\": 64, \"redshifted_pixel\": 6, \"rest_pixel\": 2, \"coarse_ratio\": 2, \"channel_width\": 32}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 16, \"next_wavelength\": 32, \"redshifted_pixel\": 3, \"rest_pixel\": 5, \"coarse_ratio\": 4, \"channel_width\": 16}, \"expected\": {\"wavelength\": 16, \"next_wavelength\": 32, \"redshifted_pixel\": 3, \"rest_pixel\": 5, \"coarse_ratio\": 4, \"channel_width\": 16}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}