{"abstract":"The adapter reports an incorrect spectral step while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"Pixel centers are one-based. A bin of bx by by starts at zero-based crop sx,sy. Its first center is start+(bin+1)/2. The supplied dispersion and plate scales are per unbinned pixel; bin integral weights count physical contributing pixels. Output fields are defined by: reference_x = (d['rx']-d['sx']-(d['bx']+1)/2)/d['bx']+1; reference_y = (d['ry']-d['sy']-(d['by']+1)/2)/d['by']+1; plate_scale = d['scale']*d['bx']; spectral_step = d['disp']*d['by']; footprint_pixels = d['bx']*d['by']; last_center_x = d['sx']+(d['bx']+1)/2+(d['nx']-1)*d['bx']","evaluation_group":"astro-binned-detector-centers","failed_approach":"A partial convention repair still uses d['disp']/d['by']","family":"s3-astronomical-coordinate-conventions-binned-detector-centers-spectral_step","id":"FA-54886","implementations":{"attempt":{"sha256":"5b41b8067c1a7200f1bbc4209f245680f64a0ce002b958d490530fa9e14e6da4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'reference_x': (d['rx']-d['sx']-(d['bx']+1)/2)/d['bx']+1, 'reference_y': (d['ry']-d['sy']-(d['by']+1)/2)/d['by']+1, 'plate_scale': d['scale']*d['bx'], 'spectral_step': d['disp']/d['by'], 'footprint_pixels': d['bx']*d['by'], 'last_center_x': d['sx']+(d['bx']+1)/2+(d['nx']-1)*d['bx']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 11.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 13, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.0, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 2: [({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 12.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 14, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.333333333333334, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 3: [({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 13.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 15, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.666666666666666, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 4: [({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 14.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 16, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 8.25, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.0, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 5: [({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 15.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 17, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 8.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.333333333333333, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})]}\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":"933b2bd1771df47c9eaf9407781d0c31edcf18ab2212c33104f827c83d25ccba","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'reference_x': (d['rx']-d['sx']-(d['bx']+1)/2)/d['bx']+1, 'reference_y': (d['ry']-d['sy']-(d['by']+1)/2)/d['by']+1, 'plate_scale': d['scale']*d['bx'], 'spectral_step': d['disp']*d['bx'], 'footprint_pixels': d['bx']*d['by'], 'last_center_x': d['sx']+(d['bx']+1)/2+(d['nx']-1)*d['bx']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 11.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 13, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.0, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 2: [({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 12.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 14, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.333333333333334, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 3: [({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 13.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 15, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.666666666666666, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 4: [({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 14.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 16, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 8.25, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.0, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 5: [({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 15.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 17, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 8.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.333333333333333, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})]}\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":"49f80b7ef16f4e256d4da9c2ba1c508146995137e9faae92c24345df83a36eb9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'reference_x': (d['rx']-d['sx']-(d['bx']+1)/2)/d['bx']+1, 'reference_y': (d['ry']-d['sy']-(d['by']+1)/2)/d['by']+1, 'plate_scale': d['scale']*d['bx'], 'spectral_step': d['disp']*d['by'], 'footprint_pixels': d['bx']*d['by'], 'last_center_x': d['sx']+(d['bx']+1)/2+(d['nx']-1)*d['bx']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 11.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 13, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.0, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 13, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 5.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 2: [({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 12.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 14, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.333333333333334, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 14, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 6.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 3: [({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 13.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 15, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 4.666666666666666, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 15, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 6.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 4: [({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 14.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 16, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 8.25, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.0, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 16, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 7.25, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})], 5: [({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 1, 'by': 1, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 15.0, 'reference_y': 18.0, 'plate_scale': 3, 'spectral_step': 5, 'footprint_pixels': 1, 'last_center_x': 14.0}), ({'rx': 17, 'ry': 21, 'sx': 0, 'sy': 0, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 8.75, 'reference_y': 5.625, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 23.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 3, 'by': 2, 'scale': 3, 'disp': 5, 'nx': 12, 'ny': 16}, {'reference_x': 5.333333333333333, 'reference_y': 9.25, 'plate_scale': 9, 'spectral_step': 10, 'footprint_pixels': 6, 'last_center_x': 37.0}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': -2, 'disp': -3, 'nx': 12, 'ny': 16}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': -4, 'spectral_step': -12, 'footprint_pixels': 8, 'last_center_x': 25.5}), ({'rx': 17, 'ry': 21, 'sx': 2, 'sy': 3, 'bx': 2, 'by': 4, 'scale': 3, 'disp': 5, 'nx': 1, 'ny': 1}, {'reference_x': 7.75, 'reference_y': 4.875, 'plate_scale': 6, 'spectral_step': 20, 'footprint_pixels': 8, 'last_center_x': 3.5})]}\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-binned-detector-centers-spectral_step","generated_at":"2026-09-29T14:45:52.466169+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['disp']*d['by']","root_cause":"Dispersion follows spatial rather than spectral binning. Faulty expression: d['disp']*d['bx']","sha256":"69489f39140f25ca422ab5da884bac7617dea12595932ff4b32e9dcc487d363d","title":"Binned detector centers: Dispersion follows spatial rather than spectral binning · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.853,"exit_code":1,"observations":[{"actual":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":1.25},"check":"astronomical fixture 0","expected":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":20},"passed":false},{"actual":{"footprint_pixels":1,"last_center_x":14.0,"plate_scale":3,"reference_x":11.0,"reference_y":18.0,"spectral_step":5.0},"check":"astronomical fixture 1","expected":{"footprint_pixels":1,"last_center_x":14.0,"plate_scale":3,"reference_x":11.0,"reference_y":18.0,"spectral_step":5},"passed":true},{"actual":{"footprint_pixels":8,"last_center_x":23.5,"plate_scale":6,"reference_x":6.75,"reference_y":5.625,"spectral_step":1.25},"check":"astronomical fixture 2","expected":{"footprint_pixels":8,"last_center_x":23.5,"plate_scale":6,"reference_x":6.75,"reference_y":5.625,"spectral_step":20},"passed":false},{"actual":{"footprint_pixels":6,"last_center_x":37.0,"plate_scale":9,"reference_x":4.0,"reference_y":9.25,"spectral_step":2.5},"check":"astronomical fixture 3","expected":{"footprint_pixels":6,"last_center_x":37.0,"plate_scale":9,"reference_x":4.0,"reference_y":9.25,"spectral_step":10},"passed":false},{"actual":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":-4,"reference_x":5.75,"reference_y":4.875,"spectral_step":-0.75},"check":"astronomical fixture 4","expected":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":-4,"reference_x":5.75,"reference_y":4.875,"spectral_step":-12},"passed":false},{"actual":{"footprint_pixels":8,"last_center_x":3.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":1.25},"check":"astronomical fixture 5","expected":{"footprint_pixels":8,"last_center_x":3.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":20},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 1.25, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"reference_x\": 11.0, \"reference_y\": 18.0, \"plate_scale\": 3, \"spectral_step\": 5.0, \"footprint_pixels\": 1, \"last_center_x\": 14.0}, \"expected\": {\"reference_x\": 11.0, \"reference_y\": 18.0, \"plate_scale\": 3, \"spectral_step\": 5, \"footprint_pixels\": 1, \"last_center_x\": 14.0}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"reference_x\": 6.75, \"reference_y\": 5.625, \"plate_scale\": 6, \"spectral_step\": 1.25, \"footprint_pixels\": 8, \"last_center_x\": 23.5}, \"expected\": {\"reference_x\": 6.75, \"reference_y\": 5.625, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 23.5}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"reference_x\": 4.0, \"reference_y\": 9.25, \"plate_scale\": 9, \"spectral_step\": 2.5, \"footprint_pixels\": 6, \"last_center_x\": 37.0}, \"expected\": {\"reference_x\": 4.0, \"reference_y\": 9.25, \"plate_scale\": 9, \"spectral_step\": 10, \"footprint_pixels\": 6, \"last_center_x\": 37.0}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": -4, \"spectral_step\": -0.75, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": -4, \"spectral_step\": -12, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 1.25, \"footprint_pixels\": 8, \"last_center_x\": 3.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 3.5}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.931,"exit_code":1,"observations":[{"actual":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":10},"check":"astronomical fixture 0","expected":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":20},"passed":false},{"actual":{"footprint_pixels":1,"last_center_x":14.0,"plate_scale":3,"reference_x":11.0,"reference_y":18.0,"spectral_step":5},"check":"astronomical fixture 1","expected":{"footprint_pixels":1,"last_center_x":14.0,"plate_scale":3,"reference_x":11.0,"reference_y":18.0,"spectral_step":5},"passed":true},{"actual":{"footprint_pixels":8,"last_center_x":23.5,"plate_scale":6,"reference_x":6.75,"reference_y":5.625,"spectral_step":10},"check":"astronomical fixture 2","expected":{"footprint_pixels":8,"last_center_x":23.5,"plate_scale":6,"reference_x":6.75,"reference_y":5.625,"spectral_step":20},"passed":false},{"actual":{"footprint_pixels":6,"last_center_x":37.0,"plate_scale":9,"reference_x":4.0,"reference_y":9.25,"spectral_step":15},"check":"astronomical fixture 3","expected":{"footprint_pixels":6,"last_center_x":37.0,"plate_scale":9,"reference_x":4.0,"reference_y":9.25,"spectral_step":10},"passed":false},{"actual":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":-4,"reference_x":5.75,"reference_y":4.875,"spectral_step":-6},"check":"astronomical fixture 4","expected":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":-4,"reference_x":5.75,"reference_y":4.875,"spectral_step":-12},"passed":false},{"actual":{"footprint_pixels":8,"last_center_x":3.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":10},"check":"astronomical fixture 5","expected":{"footprint_pixels":8,"last_center_x":3.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":20},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 10, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"reference_x\": 11.0, \"reference_y\": 18.0, \"plate_scale\": 3, \"spectral_step\": 5, \"footprint_pixels\": 1, \"last_center_x\": 14.0}, \"expected\": {\"reference_x\": 11.0, \"reference_y\": 18.0, \"plate_scale\": 3, \"spectral_step\": 5, \"footprint_pixels\": 1, \"last_center_x\": 14.0}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"reference_x\": 6.75, \"reference_y\": 5.625, \"plate_scale\": 6, \"spectral_step\": 10, \"footprint_pixels\": 8, \"last_center_x\": 23.5}, \"expected\": {\"reference_x\": 6.75, \"reference_y\": 5.625, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 23.5}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"reference_x\": 4.0, \"reference_y\": 9.25, \"plate_scale\": 9, \"spectral_step\": 15, \"footprint_pixels\": 6, \"last_center_x\": 37.0}, \"expected\": {\"reference_x\": 4.0, \"reference_y\": 9.25, \"plate_scale\": 9, \"spectral_step\": 10, \"footprint_pixels\": 6, \"last_center_x\": 37.0}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": -4, \"spectral_step\": -6, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": -4, \"spectral_step\": -12, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 10, \"footprint_pixels\": 8, \"last_center_x\": 3.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 3.5}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.419,"exit_code":0,"observations":[{"actual":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":20},"check":"astronomical fixture 0","expected":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":20},"passed":true},{"actual":{"footprint_pixels":1,"last_center_x":14.0,"plate_scale":3,"reference_x":11.0,"reference_y":18.0,"spectral_step":5},"check":"astronomical fixture 1","expected":{"footprint_pixels":1,"last_center_x":14.0,"plate_scale":3,"reference_x":11.0,"reference_y":18.0,"spectral_step":5},"passed":true},{"actual":{"footprint_pixels":8,"last_center_x":23.5,"plate_scale":6,"reference_x":6.75,"reference_y":5.625,"spectral_step":20},"check":"astronomical fixture 2","expected":{"footprint_pixels":8,"last_center_x":23.5,"plate_scale":6,"reference_x":6.75,"reference_y":5.625,"spectral_step":20},"passed":true},{"actual":{"footprint_pixels":6,"last_center_x":37.0,"plate_scale":9,"reference_x":4.0,"reference_y":9.25,"spectral_step":10},"check":"astronomical fixture 3","expected":{"footprint_pixels":6,"last_center_x":37.0,"plate_scale":9,"reference_x":4.0,"reference_y":9.25,"spectral_step":10},"passed":true},{"actual":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":-4,"reference_x":5.75,"reference_y":4.875,"spectral_step":-12},"check":"astronomical fixture 4","expected":{"footprint_pixels":8,"last_center_x":25.5,"plate_scale":-4,"reference_x":5.75,"reference_y":4.875,"spectral_step":-12},"passed":true},{"actual":{"footprint_pixels":8,"last_center_x":3.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":20},"check":"astronomical fixture 5","expected":{"footprint_pixels":8,"last_center_x":3.5,"plate_scale":6,"reference_x":5.75,"reference_y":4.875,"spectral_step":20},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"reference_x\": 11.0, \"reference_y\": 18.0, \"plate_scale\": 3, \"spectral_step\": 5, \"footprint_pixels\": 1, \"last_center_x\": 14.0}, \"expected\": {\"reference_x\": 11.0, \"reference_y\": 18.0, \"plate_scale\": 3, \"spectral_step\": 5, \"footprint_pixels\": 1, \"last_center_x\": 14.0}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"reference_x\": 6.75, \"reference_y\": 5.625, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 23.5}, \"expected\": {\"reference_x\": 6.75, \"reference_y\": 5.625, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 23.5}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"reference_x\": 4.0, \"reference_y\": 9.25, \"plate_scale\": 9, \"spectral_step\": 10, \"footprint_pixels\": 6, \"last_center_x\": 37.0}, \"expected\": {\"reference_x\": 4.0, \"reference_y\": 9.25, \"plate_scale\": 9, \"spectral_step\": 10, \"footprint_pixels\": 6, \"last_center_x\": 37.0}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": -4, \"spectral_step\": -12, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": -4, \"spectral_step\": -12, \"footprint_pixels\": 8, \"last_center_x\": 25.5}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 3.5}, \"expected\": {\"reference_x\": 5.75, \"reference_y\": 4.875, \"plate_scale\": 6, \"spectral_step\": 20, \"footprint_pixels\": 8, \"last_center_x\": 3.5}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}