{"abstract":"The adapter reports an incorrect last center x 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['sx']+(d['bx']+1)/2+d['nx']*d['bx']","family":"s3-astronomical-coordinate-conventions-binned-detector-centers-last_center_x","id":"FA-54896","implementations":{"attempt":{"sha256":"b91c84f34467c7d47a90bce11f2e26afc55ea640c3a2def5de301f7c11748172","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']*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":"50136edeab3d6195d2dd2e6a76610279a89dfa3578734d14db775c9d3a828083","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['nx']*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-last_center_x","generated_at":"2026-09-29T14:45:52.491770+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['sx']+(d['bx']+1)/2+(d['nx']-1)*d['bx']","root_cause":"Last binned detector center is replaced by the outer edge. Faulty expression: d['sx']+d['nx']*d['bx']","sha256":"be97485ba5879cdf3ef1a0e8cd3d5968ad088f3db861b619253ad12120428e79","title":"Binned detector centers: Last binned detector center is replaced by the outer edge · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.031,"exit_code":1,"observations":[{"actual":{"footprint_pixels":8,"last_center_x":27.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":false},{"actual":{"footprint_pixels":1,"last_center_x":15.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":false},{"actual":{"footprint_pixels":8,"last_center_x":25.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":false},{"actual":{"footprint_pixels":6,"last_center_x":40.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":false},{"actual":{"footprint_pixels":8,"last_center_x":27.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":false},{"actual":{"footprint_pixels":8,"last_center_x":5.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":false}],"passed":false,"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\": 27.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\": 15.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\": false}, {\"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\": 25.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\": 10, \"footprint_pixels\": 6, \"last_center_x\": 40.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\": -12, \"footprint_pixels\": 8, \"last_center_x\": 27.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\": 20, \"footprint_pixels\": 8, \"last_center_x\": 5.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":39.438,"exit_code":1,"observations":[{"actual":{"footprint_pixels":8,"last_center_x":26,"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":false},{"actual":{"footprint_pixels":1,"last_center_x":14,"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":24,"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":false},{"actual":{"footprint_pixels":6,"last_center_x":38,"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":false},{"actual":{"footprint_pixels":8,"last_center_x":26,"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":false},{"actual":{"footprint_pixels":8,"last_center_x":4,"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":false}],"passed":false,"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\": 26}, \"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}, \"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\": 24}, \"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\": 10, \"footprint_pixels\": 6, \"last_center_x\": 38}, \"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\": -12, \"footprint_pixels\": 8, \"last_center_x\": 26}, \"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\": 20, \"footprint_pixels\": 8, \"last_center_x\": 4}, \"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.547,"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"}