{"abstract":"The adapter reports an incorrect averaged step while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"A spectral window has first center c0, signed center step d, integer channel i starting at zero, full width w>0, channel averaging factor b, and total n channels. Edges are always ascending world-coordinate values; averaging preserves the mean of contributing channel centers. Output fields are defined by: center = d['c0']+d['i']*d['d']; edges = [d['c0']+d['i']*d['d']-d['w']/2,d['c0']+d['i']*d['d']+d['w']/2]; averaged_center = d['c0']+(d['i']*d['b']+(d['b']-1)/2)*d['d']; averaged_step = d['b']*d['d']; window_center = d['c0']+(d['n']-1)*d['d']/2; window_extent = abs((d['n']-1)*d['d'])+d['w']","evaluation_group":"astro-spectral-channel-edges","failed_approach":"A partial convention repair still uses abs(d['b']*d['d'])","family":"s3-astronomical-coordinate-conventions-spectral-channel-edges-averaged_step","id":"FA-55666","implementations":{"attempt":{"sha256":"881e1abfeb94758a3536a354c4a9787caa1d3e417d27b0b1919cf628b894eb19","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'center': d['c0']+d['i']*d['d'], 'edges': [d['c0']+d['i']*d['d']-d['w']/2,d['c0']+d['i']*d['d']+d['w']/2], 'averaged_center': d['c0']+(d['i']*d['b']+(d['b']-1)/2)*d['d'], 'averaged_step': abs(d['b']*d['d']), 'window_center': d['c0']+(d['n']-1)*d['d']/2, 'window_extent': abs((d['n']-1)*d['d'])+d['w']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'c0': 100, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 108, 'edges': [106.5, 109.5], 'averaged_center': 118.0, 'averaged_step': 8, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 92, 'edges': [90.5, 93.5], 'averaged_center': 82.0, 'averaged_step': -8, 'window_center': 86.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 100, 'edges': [98.5, 101.5], 'averaged_center': 102.0, 'averaged_step': 8, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 108, 'edges': [106.5, 109.5], 'averaged_center': 108.0, 'averaged_step': 4, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 100, 'edges': [98.5, 101.5], 'averaged_center': 102.0, 'averaged_step': 8, 'window_center': 100.0, 'window_extent': 3}), ({'c0': 100, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 104, 'edges': [100.0, 108.0], 'averaged_center': 109.0, 'averaged_step': 4, 'window_center': 107.0, 'window_extent': 22})], 2: [({'c0': 101, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 109, 'edges': [107.5, 110.5], 'averaged_center': 119.0, 'averaged_step': 8, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 93, 'edges': [91.5, 94.5], 'averaged_center': 83.0, 'averaged_step': -8, 'window_center': 87.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 101, 'edges': [99.5, 102.5], 'averaged_center': 103.0, 'averaged_step': 8, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 109, 'edges': [107.5, 110.5], 'averaged_center': 109.0, 'averaged_step': 4, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 101, 'edges': [99.5, 102.5], 'averaged_center': 103.0, 'averaged_step': 8, 'window_center': 101.0, 'window_extent': 3}), ({'c0': 101, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 105, 'edges': [101.0, 109.0], 'averaged_center': 110.0, 'averaged_step': 4, 'window_center': 108.0, 'window_extent': 22})], 3: [({'c0': 102, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 110, 'edges': [108.5, 111.5], 'averaged_center': 120.0, 'averaged_step': 8, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 94, 'edges': [92.5, 95.5], 'averaged_center': 84.0, 'averaged_step': -8, 'window_center': 88.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 102, 'edges': [100.5, 103.5], 'averaged_center': 104.0, 'averaged_step': 8, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 110, 'edges': [108.5, 111.5], 'averaged_center': 110.0, 'averaged_step': 4, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 102, 'edges': [100.5, 103.5], 'averaged_center': 104.0, 'averaged_step': 8, 'window_center': 102.0, 'window_extent': 3}), ({'c0': 102, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 106, 'edges': [102.0, 110.0], 'averaged_center': 111.0, 'averaged_step': 4, 'window_center': 109.0, 'window_extent': 22})], 4: [({'c0': 103, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 111, 'edges': [109.5, 112.5], 'averaged_center': 121.0, 'averaged_step': 8, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 95, 'edges': [93.5, 96.5], 'averaged_center': 85.0, 'averaged_step': -8, 'window_center': 89.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 103, 'edges': [101.5, 104.5], 'averaged_center': 105.0, 'averaged_step': 8, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 111, 'edges': [109.5, 112.5], 'averaged_center': 111.0, 'averaged_step': 4, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 103, 'edges': [101.5, 104.5], 'averaged_center': 105.0, 'averaged_step': 8, 'window_center': 103.0, 'window_extent': 3}), ({'c0': 103, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 107, 'edges': [103.0, 111.0], 'averaged_center': 112.0, 'averaged_step': 4, 'window_center': 110.0, 'window_extent': 22})], 5: [({'c0': 104, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 112, 'edges': [110.5, 113.5], 'averaged_center': 122.0, 'averaged_step': 8, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 96, 'edges': [94.5, 97.5], 'averaged_center': 86.0, 'averaged_step': -8, 'window_center': 90.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 104, 'edges': [102.5, 105.5], 'averaged_center': 106.0, 'averaged_step': 8, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 112, 'edges': [110.5, 113.5], 'averaged_center': 112.0, 'averaged_step': 4, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 104, 'edges': [102.5, 105.5], 'averaged_center': 106.0, 'averaged_step': 8, 'window_center': 104.0, 'window_extent': 3}), ({'c0': 104, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 108, 'edges': [104.0, 112.0], 'averaged_center': 113.0, 'averaged_step': 4, 'window_center': 111.0, 'window_extent': 22})]}\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":"0f2937047ebea0977f62c66c87fcb9d9aad0492770bea321ebe0464cce089f4a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'center': d['c0']+d['i']*d['d'], 'edges': [d['c0']+d['i']*d['d']-d['w']/2,d['c0']+d['i']*d['d']+d['w']/2], 'averaged_center': d['c0']+(d['i']*d['b']+(d['b']-1)/2)*d['d'], 'averaged_step': d['d']/d['b'], 'window_center': d['c0']+(d['n']-1)*d['d']/2, 'window_extent': abs((d['n']-1)*d['d'])+d['w']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'c0': 100, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 108, 'edges': [106.5, 109.5], 'averaged_center': 118.0, 'averaged_step': 8, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 92, 'edges': [90.5, 93.5], 'averaged_center': 82.0, 'averaged_step': -8, 'window_center': 86.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 100, 'edges': [98.5, 101.5], 'averaged_center': 102.0, 'averaged_step': 8, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 108, 'edges': [106.5, 109.5], 'averaged_center': 108.0, 'averaged_step': 4, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 100, 'edges': [98.5, 101.5], 'averaged_center': 102.0, 'averaged_step': 8, 'window_center': 100.0, 'window_extent': 3}), ({'c0': 100, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 104, 'edges': [100.0, 108.0], 'averaged_center': 109.0, 'averaged_step': 4, 'window_center': 107.0, 'window_extent': 22})], 2: [({'c0': 101, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 109, 'edges': [107.5, 110.5], 'averaged_center': 119.0, 'averaged_step': 8, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 93, 'edges': [91.5, 94.5], 'averaged_center': 83.0, 'averaged_step': -8, 'window_center': 87.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 101, 'edges': [99.5, 102.5], 'averaged_center': 103.0, 'averaged_step': 8, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 109, 'edges': [107.5, 110.5], 'averaged_center': 109.0, 'averaged_step': 4, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 101, 'edges': [99.5, 102.5], 'averaged_center': 103.0, 'averaged_step': 8, 'window_center': 101.0, 'window_extent': 3}), ({'c0': 101, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 105, 'edges': [101.0, 109.0], 'averaged_center': 110.0, 'averaged_step': 4, 'window_center': 108.0, 'window_extent': 22})], 3: [({'c0': 102, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 110, 'edges': [108.5, 111.5], 'averaged_center': 120.0, 'averaged_step': 8, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 94, 'edges': [92.5, 95.5], 'averaged_center': 84.0, 'averaged_step': -8, 'window_center': 88.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 102, 'edges': [100.5, 103.5], 'averaged_center': 104.0, 'averaged_step': 8, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 110, 'edges': [108.5, 111.5], 'averaged_center': 110.0, 'averaged_step': 4, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 102, 'edges': [100.5, 103.5], 'averaged_center': 104.0, 'averaged_step': 8, 'window_center': 102.0, 'window_extent': 3}), ({'c0': 102, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 106, 'edges': [102.0, 110.0], 'averaged_center': 111.0, 'averaged_step': 4, 'window_center': 109.0, 'window_extent': 22})], 4: [({'c0': 103, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 111, 'edges': [109.5, 112.5], 'averaged_center': 121.0, 'averaged_step': 8, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 95, 'edges': [93.5, 96.5], 'averaged_center': 85.0, 'averaged_step': -8, 'window_center': 89.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 103, 'edges': [101.5, 104.5], 'averaged_center': 105.0, 'averaged_step': 8, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 111, 'edges': [109.5, 112.5], 'averaged_center': 111.0, 'averaged_step': 4, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 103, 'edges': [101.5, 104.5], 'averaged_center': 105.0, 'averaged_step': 8, 'window_center': 103.0, 'window_extent': 3}), ({'c0': 103, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 107, 'edges': [103.0, 111.0], 'averaged_center': 112.0, 'averaged_step': 4, 'window_center': 110.0, 'window_extent': 22})], 5: [({'c0': 104, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 112, 'edges': [110.5, 113.5], 'averaged_center': 122.0, 'averaged_step': 8, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 96, 'edges': [94.5, 97.5], 'averaged_center': 86.0, 'averaged_step': -8, 'window_center': 90.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 104, 'edges': [102.5, 105.5], 'averaged_center': 106.0, 'averaged_step': 8, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 112, 'edges': [110.5, 113.5], 'averaged_center': 112.0, 'averaged_step': 4, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 104, 'edges': [102.5, 105.5], 'averaged_center': 106.0, 'averaged_step': 8, 'window_center': 104.0, 'window_extent': 3}), ({'c0': 104, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 108, 'edges': [104.0, 112.0], 'averaged_center': 113.0, 'averaged_step': 4, 'window_center': 111.0, 'window_extent': 22})]}\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":"a9d0a7962a371d3935df31ba96bbbc7dbde0495715ee41da5449dd15764d6692","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'center': d['c0']+d['i']*d['d'], 'edges': [d['c0']+d['i']*d['d']-d['w']/2,d['c0']+d['i']*d['d']+d['w']/2], 'averaged_center': d['c0']+(d['i']*d['b']+(d['b']-1)/2)*d['d'], 'averaged_step': d['b']*d['d'], 'window_center': d['c0']+(d['n']-1)*d['d']/2, 'window_extent': abs((d['n']-1)*d['d'])+d['w']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'c0': 100, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 108, 'edges': [106.5, 109.5], 'averaged_center': 118.0, 'averaged_step': 8, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 92, 'edges': [90.5, 93.5], 'averaged_center': 82.0, 'averaged_step': -8, 'window_center': 86.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 100, 'edges': [98.5, 101.5], 'averaged_center': 102.0, 'averaged_step': 8, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 108, 'edges': [106.5, 109.5], 'averaged_center': 108.0, 'averaged_step': 4, 'window_center': 114.0, 'window_extent': 31}), ({'c0': 100, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 100, 'edges': [98.5, 101.5], 'averaged_center': 102.0, 'averaged_step': 8, 'window_center': 100.0, 'window_extent': 3}), ({'c0': 100, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 104, 'edges': [100.0, 108.0], 'averaged_center': 109.0, 'averaged_step': 4, 'window_center': 107.0, 'window_extent': 22})], 2: [({'c0': 101, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 109, 'edges': [107.5, 110.5], 'averaged_center': 119.0, 'averaged_step': 8, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 93, 'edges': [91.5, 94.5], 'averaged_center': 83.0, 'averaged_step': -8, 'window_center': 87.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 101, 'edges': [99.5, 102.5], 'averaged_center': 103.0, 'averaged_step': 8, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 109, 'edges': [107.5, 110.5], 'averaged_center': 109.0, 'averaged_step': 4, 'window_center': 115.0, 'window_extent': 31}), ({'c0': 101, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 101, 'edges': [99.5, 102.5], 'averaged_center': 103.0, 'averaged_step': 8, 'window_center': 101.0, 'window_extent': 3}), ({'c0': 101, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 105, 'edges': [101.0, 109.0], 'averaged_center': 110.0, 'averaged_step': 4, 'window_center': 108.0, 'window_extent': 22})], 3: [({'c0': 102, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 110, 'edges': [108.5, 111.5], 'averaged_center': 120.0, 'averaged_step': 8, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 94, 'edges': [92.5, 95.5], 'averaged_center': 84.0, 'averaged_step': -8, 'window_center': 88.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 102, 'edges': [100.5, 103.5], 'averaged_center': 104.0, 'averaged_step': 8, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 110, 'edges': [108.5, 111.5], 'averaged_center': 110.0, 'averaged_step': 4, 'window_center': 116.0, 'window_extent': 31}), ({'c0': 102, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 102, 'edges': [100.5, 103.5], 'averaged_center': 104.0, 'averaged_step': 8, 'window_center': 102.0, 'window_extent': 3}), ({'c0': 102, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 106, 'edges': [102.0, 110.0], 'averaged_center': 111.0, 'averaged_step': 4, 'window_center': 109.0, 'window_extent': 22})], 4: [({'c0': 103, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 111, 'edges': [109.5, 112.5], 'averaged_center': 121.0, 'averaged_step': 8, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 95, 'edges': [93.5, 96.5], 'averaged_center': 85.0, 'averaged_step': -8, 'window_center': 89.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 103, 'edges': [101.5, 104.5], 'averaged_center': 105.0, 'averaged_step': 8, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 111, 'edges': [109.5, 112.5], 'averaged_center': 111.0, 'averaged_step': 4, 'window_center': 117.0, 'window_extent': 31}), ({'c0': 103, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 103, 'edges': [101.5, 104.5], 'averaged_center': 105.0, 'averaged_step': 8, 'window_center': 103.0, 'window_extent': 3}), ({'c0': 103, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 107, 'edges': [103.0, 111.0], 'averaged_center': 112.0, 'averaged_step': 4, 'window_center': 110.0, 'window_extent': 22})], 5: [({'c0': 104, 'd': 4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 112, 'edges': [110.5, 113.5], 'averaged_center': 122.0, 'averaged_step': 8, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': -4, 'i': 2, 'w': 3, 'b': 2, 'n': 8}, {'center': 96, 'edges': [94.5, 97.5], 'averaged_center': 86.0, 'averaged_step': -8, 'window_center': 90.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 8}, {'center': 104, 'edges': [102.5, 105.5], 'averaged_center': 106.0, 'averaged_step': 8, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 2, 'w': 3, 'b': 1, 'n': 8}, {'center': 112, 'edges': [110.5, 113.5], 'averaged_center': 112.0, 'averaged_step': 4, 'window_center': 118.0, 'window_extent': 31}), ({'c0': 104, 'd': 4, 'i': 0, 'w': 3, 'b': 2, 'n': 1}, {'center': 104, 'edges': [102.5, 105.5], 'averaged_center': 106.0, 'averaged_step': 8, 'window_center': 104.0, 'window_extent': 3}), ({'c0': 104, 'd': 2, 'i': 2, 'w': 8, 'b': 2, 'n': 8}, {'center': 108, 'edges': [104.0, 112.0], 'averaged_center': 113.0, 'averaged_step': 4, 'window_center': 111.0, 'window_extent': 22})]}\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-spectral-channel-edges-averaged_step","generated_at":"2026-09-29T14:45:59.858878+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['b']*d['d']","root_cause":"Averaged spectral channel step loses the original orientation. Faulty expression: d['d']/d['b']","sha256":"19bebbd16d4bc02d32504bf3f6efe03f64797c3aa1c671ee9465268893ae82d8","title":"Spectral channel edges: Averaged spectral channel step loses the original orientation · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.852,"exit_code":1,"observations":[{"actual":{"averaged_center":118.0,"averaged_step":8,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 0","expected":{"averaged_center":118.0,"averaged_step":8,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"passed":true},{"actual":{"averaged_center":82.0,"averaged_step":8,"center":92,"edges":[90.5,93.5],"window_center":86.0,"window_extent":31},"check":"astronomical fixture 1","expected":{"averaged_center":82.0,"averaged_step":-8,"center":92,"edges":[90.5,93.5],"window_center":86.0,"window_extent":31},"passed":false},{"actual":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 2","expected":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":114.0,"window_extent":31},"passed":true},{"actual":{"averaged_center":108.0,"averaged_step":4,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 3","expected":{"averaged_center":108.0,"averaged_step":4,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"passed":true},{"actual":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":100.0,"window_extent":3},"check":"astronomical fixture 4","expected":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":100.0,"window_extent":3},"passed":true},{"actual":{"averaged_center":109.0,"averaged_step":4,"center":104,"edges":[100.0,108.0],"window_center":107.0,"window_extent":22},"check":"astronomical fixture 5","expected":{"averaged_center":109.0,"averaged_step":4,"center":104,"edges":[100.0,108.0],"window_center":107.0,"window_extent":22},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 118.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 118.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"center\": 92, \"edges\": [90.5, 93.5], \"averaged_center\": 82.0, \"averaged_step\": 8, \"window_center\": 86.0, \"window_extent\": 31}, \"expected\": {\"center\": 92, \"edges\": [90.5, 93.5], \"averaged_center\": 82.0, \"averaged_step\": -8, \"window_center\": 86.0, \"window_extent\": 31}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 108.0, \"averaged_step\": 4, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 108.0, \"averaged_step\": 4, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 100.0, \"window_extent\": 3}, \"expected\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 100.0, \"window_extent\": 3}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"center\": 104, \"edges\": [100.0, 108.0], \"averaged_center\": 109.0, \"averaged_step\": 4, \"window_center\": 107.0, \"window_extent\": 22}, \"expected\": {\"center\": 104, \"edges\": [100.0, 108.0], \"averaged_center\": 109.0, \"averaged_step\": 4, \"window_center\": 107.0, \"window_extent\": 22}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.41,"exit_code":1,"observations":[{"actual":{"averaged_center":118.0,"averaged_step":2.0,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 0","expected":{"averaged_center":118.0,"averaged_step":8,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"passed":false},{"actual":{"averaged_center":82.0,"averaged_step":-2.0,"center":92,"edges":[90.5,93.5],"window_center":86.0,"window_extent":31},"check":"astronomical fixture 1","expected":{"averaged_center":82.0,"averaged_step":-8,"center":92,"edges":[90.5,93.5],"window_center":86.0,"window_extent":31},"passed":false},{"actual":{"averaged_center":102.0,"averaged_step":2.0,"center":100,"edges":[98.5,101.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 2","expected":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":114.0,"window_extent":31},"passed":false},{"actual":{"averaged_center":108.0,"averaged_step":4.0,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 3","expected":{"averaged_center":108.0,"averaged_step":4,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"passed":true},{"actual":{"averaged_center":102.0,"averaged_step":2.0,"center":100,"edges":[98.5,101.5],"window_center":100.0,"window_extent":3},"check":"astronomical fixture 4","expected":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":100.0,"window_extent":3},"passed":false},{"actual":{"averaged_center":109.0,"averaged_step":1.0,"center":104,"edges":[100.0,108.0],"window_center":107.0,"window_extent":22},"check":"astronomical fixture 5","expected":{"averaged_center":109.0,"averaged_step":4,"center":104,"edges":[100.0,108.0],"window_center":107.0,"window_extent":22},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 118.0, \"averaged_step\": 2.0, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 118.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"center\": 92, \"edges\": [90.5, 93.5], \"averaged_center\": 82.0, \"averaged_step\": -2.0, \"window_center\": 86.0, \"window_extent\": 31}, \"expected\": {\"center\": 92, \"edges\": [90.5, 93.5], \"averaged_center\": 82.0, \"averaged_step\": -8, \"window_center\": 86.0, \"window_extent\": 31}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 2.0, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 108.0, \"averaged_step\": 4.0, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 108.0, \"averaged_step\": 4, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 2.0, \"window_center\": 100.0, \"window_extent\": 3}, \"expected\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 100.0, \"window_extent\": 3}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"center\": 104, \"edges\": [100.0, 108.0], \"averaged_center\": 109.0, \"averaged_step\": 1.0, \"window_center\": 107.0, \"window_extent\": 22}, \"expected\": {\"center\": 104, \"edges\": [100.0, 108.0], \"averaged_center\": 109.0, \"averaged_step\": 4, \"window_center\": 107.0, \"window_extent\": 22}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.481,"exit_code":0,"observations":[{"actual":{"averaged_center":118.0,"averaged_step":8,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 0","expected":{"averaged_center":118.0,"averaged_step":8,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"passed":true},{"actual":{"averaged_center":82.0,"averaged_step":-8,"center":92,"edges":[90.5,93.5],"window_center":86.0,"window_extent":31},"check":"astronomical fixture 1","expected":{"averaged_center":82.0,"averaged_step":-8,"center":92,"edges":[90.5,93.5],"window_center":86.0,"window_extent":31},"passed":true},{"actual":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 2","expected":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":114.0,"window_extent":31},"passed":true},{"actual":{"averaged_center":108.0,"averaged_step":4,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"check":"astronomical fixture 3","expected":{"averaged_center":108.0,"averaged_step":4,"center":108,"edges":[106.5,109.5],"window_center":114.0,"window_extent":31},"passed":true},{"actual":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":100.0,"window_extent":3},"check":"astronomical fixture 4","expected":{"averaged_center":102.0,"averaged_step":8,"center":100,"edges":[98.5,101.5],"window_center":100.0,"window_extent":3},"passed":true},{"actual":{"averaged_center":109.0,"averaged_step":4,"center":104,"edges":[100.0,108.0],"window_center":107.0,"window_extent":22},"check":"astronomical fixture 5","expected":{"averaged_center":109.0,"averaged_step":4,"center":104,"edges":[100.0,108.0],"window_center":107.0,"window_extent":22},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 118.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 118.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"center\": 92, \"edges\": [90.5, 93.5], \"averaged_center\": 82.0, \"averaged_step\": -8, \"window_center\": 86.0, \"window_extent\": 31}, \"expected\": {\"center\": 92, \"edges\": [90.5, 93.5], \"averaged_center\": 82.0, \"averaged_step\": -8, \"window_center\": 86.0, \"window_extent\": 31}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 108.0, \"averaged_step\": 4, \"window_center\": 114.0, \"window_extent\": 31}, \"expected\": {\"center\": 108, \"edges\": [106.5, 109.5], \"averaged_center\": 108.0, \"averaged_step\": 4, \"window_center\": 114.0, \"window_extent\": 31}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 100.0, \"window_extent\": 3}, \"expected\": {\"center\": 100, \"edges\": [98.5, 101.5], \"averaged_center\": 102.0, \"averaged_step\": 8, \"window_center\": 100.0, \"window_extent\": 3}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"center\": 104, \"edges\": [100.0, 108.0], \"averaged_center\": 109.0, \"averaged_step\": 4, \"window_center\": 107.0, \"window_extent\": 22}, \"expected\": {\"center\": 104, \"edges\": [100.0, 108.0], \"averaged_center\": 109.0, \"averaged_step\": 4, \"window_center\": 107.0, \"window_extent\": 22}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}