{"abstract":"The adapter reports an incorrect wavelength 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['L0']*d['b']**d['p']","family":"s3-astronomical-coordinate-conventions-logarithmic-spectral-index-wavelength","id":"FA-55591","implementations":{"attempt":{"sha256":"0ac0364acf39357288c5707967afad4fdf7640751f87a1038597e80cd0c3c7e6","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'], '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":"d320dd31274b963966e2bc9c3fba7b80c25de5583154e47d731aa52c9c46446d","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"},"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-wavelength","generated_at":"2026-09-29T14:45:59.211277+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['L0']*d['b']**(d['p']-d['r'])","root_cause":"Logarithmic wavelength axes are evaluated with linear dispersion semantics. Faulty expression: d['L0']+d['b']*(d['p']-d['r'])","sha256":"b0c495d399222dc72d2bf4804c5e6abe274081512728ceb75136ce55b96931d8","title":"Logarithmic spectral index: Logarithmic wavelength axes are evaluated with linear dispersion semantics · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.439,"exit_code":1,"observations":[{"actual":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":128},"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":4,"rest_pixel":0,"wavelength":32},"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":128},"check":"astronomical fixture 2","expected":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":4,"rest_pixel":4,"wavelength":32},"passed":false},{"actual":{"channel_width":144,"coarse_ratio":9,"next_wavelength":216,"redshifted_pixel":6,"rest_pixel":2,"wavelength":648},"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":6,"rest_pixel":2,"wavelength":128},"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":3,"rest_pixel":5,"wavelength":128},"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\": 128, \"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\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"wavelength\": 32, \"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\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"wavelength\": 128, \"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\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 648, \"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\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 128, \"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\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 128, \"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\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.693,"exit_code":1,"observations":[{"actual":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":6,"rest_pixel":2,"wavelength":12},"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":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":12},"check":"astronomical fixture 2","expected":{"channel_width":32,"coarse_ratio":4,"next_wavelength":64,"redshifted_pixel":4,"rest_pixel":4,"wavelength":32},"passed":false},{"actual":{"channel_width":144,"coarse_ratio":9,"next_wavelength":216,"redshifted_pixel":6,"rest_pixel":2,"wavelength":14},"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":6,"rest_pixel":2,"wavelength":12},"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":3,"rest_pixel":5,"wavelength":10},"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\": 12, \"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\": false}, {\"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\": 12, \"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\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"wavelength\": 14, \"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\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"wavelength\": 12, \"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\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"wavelength\": 10, \"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\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.234,"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"}