{"abstract":"The adapter reports an incorrect inverse if while other fields remain valid.","category":"Astronomical coordinate conventions","checks":6,"contract":"A radio receiver provides positive local oscillator L, intermediate frequency I, signed IF channel step d, sideband s equal +1 or -1, second mixer offset m, and source rest frequency R. Sky frequency is L+s*I; image sideband is L-s*I. This is exact mixer bookkeeping only. Output fields are defined by: sky_frequency = d['L']+d['s']*d['I']; sky_increment = d['s']*d['d']; image_frequency = d['L']-d['s']*d['I']; second_conversion = d['L']+d['s']*(d['I']+d['m']); rest_offset = d['L']+d['s']*d['I']-d['R']; inverse_if = d['s']*(d['R']-d['L'])","evaluation_group":"astro-heterodyne-sideband-coordinate","failed_approach":"A partial convention repair still uses d['s']*(d['R']+d['L'])","family":"s3-astronomical-coordinate-conventions-heterodyne-sideband-coordinate-inverse_if","id":"FA-56096","implementations":{"attempt":{"sha256":"17c0b17238250980ceca888a408cb6686075bef0d98b5a0f1513c2b15ec7d5a3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'sky_frequency': d['L']+d['s']*d['I'], 'sky_increment': d['s']*d['d'], 'image_frequency': d['L']-d['s']*d['I'], 'second_conversion': d['L']+d['s']*(d['I']+d['m']), 'rest_offset': d['L']+d['s']*d['I']-d['R'], 'inverse_if': d['s']*(d['R']+d['L'])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'L': 100, 'I': 10, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 90, 'sky_increment': -2, 'image_frequency': 110, 'second_conversion': 87, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 110, 'sky_increment': 2, 'image_frequency': 90, 'second_conversion': 113, 'rest_offset': -10, 'inverse_if': 20}), ({'L': 100, 'I': 0, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 100, 'sky_increment': -2, 'image_frequency': 100, 'second_conversion': 97, 'rest_offset': -20, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 90, 'sky_increment': 2, 'image_frequency': 110, 'second_conversion': 87, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 90, 'sky_increment': -2, 'image_frequency': 110, 'second_conversion': 90, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 200, 'I': 10, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 190, 'sky_increment': -2, 'image_frequency': 210, 'second_conversion': 187, 'rest_offset': -60, 'inverse_if': -50})], 2: [({'L': 100, 'I': 11, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 89, 'sky_increment': -2, 'image_frequency': 111, 'second_conversion': 86, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 111, 'sky_increment': 2, 'image_frequency': 89, 'second_conversion': 114, 'rest_offset': -9, 'inverse_if': 20}), ({'L': 100, 'I': 1, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 99, 'sky_increment': -2, 'image_frequency': 101, 'second_conversion': 96, 'rest_offset': -21, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 89, 'sky_increment': 2, 'image_frequency': 111, 'second_conversion': 86, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 89, 'sky_increment': -2, 'image_frequency': 111, 'second_conversion': 89, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 200, 'I': 11, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 189, 'sky_increment': -2, 'image_frequency': 211, 'second_conversion': 186, 'rest_offset': -61, 'inverse_if': -50})], 3: [({'L': 100, 'I': 12, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 88, 'sky_increment': -2, 'image_frequency': 112, 'second_conversion': 85, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 112, 'sky_increment': 2, 'image_frequency': 88, 'second_conversion': 115, 'rest_offset': -8, 'inverse_if': 20}), ({'L': 100, 'I': 2, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 98, 'sky_increment': -2, 'image_frequency': 102, 'second_conversion': 95, 'rest_offset': -22, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 88, 'sky_increment': 2, 'image_frequency': 112, 'second_conversion': 85, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 88, 'sky_increment': -2, 'image_frequency': 112, 'second_conversion': 88, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 200, 'I': 12, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 188, 'sky_increment': -2, 'image_frequency': 212, 'second_conversion': 185, 'rest_offset': -62, 'inverse_if': -50})], 4: [({'L': 100, 'I': 13, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 87, 'sky_increment': -2, 'image_frequency': 113, 'second_conversion': 84, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 113, 'sky_increment': 2, 'image_frequency': 87, 'second_conversion': 116, 'rest_offset': -7, 'inverse_if': 20}), ({'L': 100, 'I': 3, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 97, 'sky_increment': -2, 'image_frequency': 103, 'second_conversion': 94, 'rest_offset': -23, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 87, 'sky_increment': 2, 'image_frequency': 113, 'second_conversion': 84, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 87, 'sky_increment': -2, 'image_frequency': 113, 'second_conversion': 87, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 200, 'I': 13, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 187, 'sky_increment': -2, 'image_frequency': 213, 'second_conversion': 184, 'rest_offset': -63, 'inverse_if': -50})], 5: [({'L': 100, 'I': 14, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 86, 'sky_increment': -2, 'image_frequency': 114, 'second_conversion': 83, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 114, 'sky_increment': 2, 'image_frequency': 86, 'second_conversion': 117, 'rest_offset': -6, 'inverse_if': 20}), ({'L': 100, 'I': 4, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 96, 'sky_increment': -2, 'image_frequency': 104, 'second_conversion': 93, 'rest_offset': -24, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 86, 'sky_increment': 2, 'image_frequency': 114, 'second_conversion': 83, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 86, 'sky_increment': -2, 'image_frequency': 114, 'second_conversion': 86, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 200, 'I': 14, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 186, 'sky_increment': -2, 'image_frequency': 214, 'second_conversion': 183, 'rest_offset': -64, 'inverse_if': -50})]}\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":"11ea88b390b0ae1b4f06ecfe7fe06a897aca2c27baaaed501ce0f51b7aaabc19","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'sky_frequency': d['L']+d['s']*d['I'], 'sky_increment': d['s']*d['d'], 'image_frequency': d['L']-d['s']*d['I'], 'second_conversion': d['L']+d['s']*(d['I']+d['m']), 'rest_offset': d['L']+d['s']*d['I']-d['R'], 'inverse_if': d['R']-d['L']}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'L': 100, 'I': 10, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 90, 'sky_increment': -2, 'image_frequency': 110, 'second_conversion': 87, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 110, 'sky_increment': 2, 'image_frequency': 90, 'second_conversion': 113, 'rest_offset': -10, 'inverse_if': 20}), ({'L': 100, 'I': 0, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 100, 'sky_increment': -2, 'image_frequency': 100, 'second_conversion': 97, 'rest_offset': -20, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 90, 'sky_increment': 2, 'image_frequency': 110, 'second_conversion': 87, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 90, 'sky_increment': -2, 'image_frequency': 110, 'second_conversion': 90, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 200, 'I': 10, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 190, 'sky_increment': -2, 'image_frequency': 210, 'second_conversion': 187, 'rest_offset': -60, 'inverse_if': -50})], 2: [({'L': 100, 'I': 11, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 89, 'sky_increment': -2, 'image_frequency': 111, 'second_conversion': 86, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 111, 'sky_increment': 2, 'image_frequency': 89, 'second_conversion': 114, 'rest_offset': -9, 'inverse_if': 20}), ({'L': 100, 'I': 1, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 99, 'sky_increment': -2, 'image_frequency': 101, 'second_conversion': 96, 'rest_offset': -21, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 89, 'sky_increment': 2, 'image_frequency': 111, 'second_conversion': 86, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 89, 'sky_increment': -2, 'image_frequency': 111, 'second_conversion': 89, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 200, 'I': 11, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 189, 'sky_increment': -2, 'image_frequency': 211, 'second_conversion': 186, 'rest_offset': -61, 'inverse_if': -50})], 3: [({'L': 100, 'I': 12, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 88, 'sky_increment': -2, 'image_frequency': 112, 'second_conversion': 85, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 112, 'sky_increment': 2, 'image_frequency': 88, 'second_conversion': 115, 'rest_offset': -8, 'inverse_if': 20}), ({'L': 100, 'I': 2, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 98, 'sky_increment': -2, 'image_frequency': 102, 'second_conversion': 95, 'rest_offset': -22, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 88, 'sky_increment': 2, 'image_frequency': 112, 'second_conversion': 85, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 88, 'sky_increment': -2, 'image_frequency': 112, 'second_conversion': 88, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 200, 'I': 12, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 188, 'sky_increment': -2, 'image_frequency': 212, 'second_conversion': 185, 'rest_offset': -62, 'inverse_if': -50})], 4: [({'L': 100, 'I': 13, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 87, 'sky_increment': -2, 'image_frequency': 113, 'second_conversion': 84, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 113, 'sky_increment': 2, 'image_frequency': 87, 'second_conversion': 116, 'rest_offset': -7, 'inverse_if': 20}), ({'L': 100, 'I': 3, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 97, 'sky_increment': -2, 'image_frequency': 103, 'second_conversion': 94, 'rest_offset': -23, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 87, 'sky_increment': 2, 'image_frequency': 113, 'second_conversion': 84, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 87, 'sky_increment': -2, 'image_frequency': 113, 'second_conversion': 87, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 200, 'I': 13, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 187, 'sky_increment': -2, 'image_frequency': 213, 'second_conversion': 184, 'rest_offset': -63, 'inverse_if': -50})], 5: [({'L': 100, 'I': 14, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 86, 'sky_increment': -2, 'image_frequency': 114, 'second_conversion': 83, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 114, 'sky_increment': 2, 'image_frequency': 86, 'second_conversion': 117, 'rest_offset': -6, 'inverse_if': 20}), ({'L': 100, 'I': 4, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 96, 'sky_increment': -2, 'image_frequency': 104, 'second_conversion': 93, 'rest_offset': -24, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 86, 'sky_increment': 2, 'image_frequency': 114, 'second_conversion': 83, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 86, 'sky_increment': -2, 'image_frequency': 114, 'second_conversion': 86, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 200, 'I': 14, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 186, 'sky_increment': -2, 'image_frequency': 214, 'second_conversion': 183, 'rest_offset': -64, 'inverse_if': -50})]}\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":"3158822c94d3397a21baf29dc84aea1851029357beb861e82163ae5fdd5115b5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'sky_frequency': d['L']+d['s']*d['I'], 'sky_increment': d['s']*d['d'], 'image_frequency': d['L']-d['s']*d['I'], 'second_conversion': d['L']+d['s']*(d['I']+d['m']), 'rest_offset': d['L']+d['s']*d['I']-d['R'], 'inverse_if': d['s']*(d['R']-d['L'])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'L': 100, 'I': 10, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 90, 'sky_increment': -2, 'image_frequency': 110, 'second_conversion': 87, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 110, 'sky_increment': 2, 'image_frequency': 90, 'second_conversion': 113, 'rest_offset': -10, 'inverse_if': 20}), ({'L': 100, 'I': 0, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 100, 'sky_increment': -2, 'image_frequency': 100, 'second_conversion': 97, 'rest_offset': -20, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 90, 'sky_increment': 2, 'image_frequency': 110, 'second_conversion': 87, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 100, 'I': 10, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 90, 'sky_increment': -2, 'image_frequency': 110, 'second_conversion': 90, 'rest_offset': -30, 'inverse_if': -20}), ({'L': 200, 'I': 10, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 190, 'sky_increment': -2, 'image_frequency': 210, 'second_conversion': 187, 'rest_offset': -60, 'inverse_if': -50})], 2: [({'L': 100, 'I': 11, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 89, 'sky_increment': -2, 'image_frequency': 111, 'second_conversion': 86, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 111, 'sky_increment': 2, 'image_frequency': 89, 'second_conversion': 114, 'rest_offset': -9, 'inverse_if': 20}), ({'L': 100, 'I': 1, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 99, 'sky_increment': -2, 'image_frequency': 101, 'second_conversion': 96, 'rest_offset': -21, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 89, 'sky_increment': 2, 'image_frequency': 111, 'second_conversion': 86, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 100, 'I': 11, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 89, 'sky_increment': -2, 'image_frequency': 111, 'second_conversion': 89, 'rest_offset': -31, 'inverse_if': -20}), ({'L': 200, 'I': 11, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 189, 'sky_increment': -2, 'image_frequency': 211, 'second_conversion': 186, 'rest_offset': -61, 'inverse_if': -50})], 3: [({'L': 100, 'I': 12, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 88, 'sky_increment': -2, 'image_frequency': 112, 'second_conversion': 85, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 112, 'sky_increment': 2, 'image_frequency': 88, 'second_conversion': 115, 'rest_offset': -8, 'inverse_if': 20}), ({'L': 100, 'I': 2, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 98, 'sky_increment': -2, 'image_frequency': 102, 'second_conversion': 95, 'rest_offset': -22, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 88, 'sky_increment': 2, 'image_frequency': 112, 'second_conversion': 85, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 100, 'I': 12, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 88, 'sky_increment': -2, 'image_frequency': 112, 'second_conversion': 88, 'rest_offset': -32, 'inverse_if': -20}), ({'L': 200, 'I': 12, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 188, 'sky_increment': -2, 'image_frequency': 212, 'second_conversion': 185, 'rest_offset': -62, 'inverse_if': -50})], 4: [({'L': 100, 'I': 13, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 87, 'sky_increment': -2, 'image_frequency': 113, 'second_conversion': 84, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 113, 'sky_increment': 2, 'image_frequency': 87, 'second_conversion': 116, 'rest_offset': -7, 'inverse_if': 20}), ({'L': 100, 'I': 3, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 97, 'sky_increment': -2, 'image_frequency': 103, 'second_conversion': 94, 'rest_offset': -23, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 87, 'sky_increment': 2, 'image_frequency': 113, 'second_conversion': 84, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 100, 'I': 13, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 87, 'sky_increment': -2, 'image_frequency': 113, 'second_conversion': 87, 'rest_offset': -33, 'inverse_if': -20}), ({'L': 200, 'I': 13, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 187, 'sky_increment': -2, 'image_frequency': 213, 'second_conversion': 184, 'rest_offset': -63, 'inverse_if': -50})], 5: [({'L': 100, 'I': 14, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 86, 'sky_increment': -2, 'image_frequency': 114, 'second_conversion': 83, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': 2, 's': 1, 'm': 3, 'R': 120}, {'sky_frequency': 114, 'sky_increment': 2, 'image_frequency': 86, 'second_conversion': 117, 'rest_offset': -6, 'inverse_if': 20}), ({'L': 100, 'I': 4, 'd': 2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 96, 'sky_increment': -2, 'image_frequency': 104, 'second_conversion': 93, 'rest_offset': -24, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': -2, 's': -1, 'm': 3, 'R': 120}, {'sky_frequency': 86, 'sky_increment': 2, 'image_frequency': 114, 'second_conversion': 83, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 100, 'I': 14, 'd': 2, 's': -1, 'm': 0, 'R': 120}, {'sky_frequency': 86, 'sky_increment': -2, 'image_frequency': 114, 'second_conversion': 86, 'rest_offset': -34, 'inverse_if': -20}), ({'L': 200, 'I': 14, 'd': 2, 's': -1, 'm': 3, 'R': 250}, {'sky_frequency': 186, 'sky_increment': -2, 'image_frequency': 214, 'second_conversion': 183, 'rest_offset': -64, 'inverse_if': -50})]}\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-heterodyne-sideband-coordinate-inverse_if","generated_at":"2026-09-29T14:46:03.990140+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['s']*(d['R']-d['L'])","root_cause":"Sky-to-IF inverse mapping drops the sideband sign. Faulty expression: d['R']-d['L']","sha256":"83aff2ff932f6fad53ef3fc712298dbc7bd491fce92fcdbb8f1024866b392432","title":"Heterodyne sideband coordinate: Sky-to-IF inverse mapping drops the sideband sign · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.045,"exit_code":1,"observations":[{"actual":{"image_frequency":110,"inverse_if":-220,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":-2},"check":"astronomical fixture 0","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":-2},"passed":false},{"actual":{"image_frequency":90,"inverse_if":220,"rest_offset":-10,"second_conversion":113,"sky_frequency":110,"sky_increment":2},"check":"astronomical fixture 1","expected":{"image_frequency":90,"inverse_if":20,"rest_offset":-10,"second_conversion":113,"sky_frequency":110,"sky_increment":2},"passed":false},{"actual":{"image_frequency":100,"inverse_if":-220,"rest_offset":-20,"second_conversion":97,"sky_frequency":100,"sky_increment":-2},"check":"astronomical fixture 2","expected":{"image_frequency":100,"inverse_if":-20,"rest_offset":-20,"second_conversion":97,"sky_frequency":100,"sky_increment":-2},"passed":false},{"actual":{"image_frequency":110,"inverse_if":-220,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":2},"check":"astronomical fixture 3","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":2},"passed":false},{"actual":{"image_frequency":110,"inverse_if":-220,"rest_offset":-30,"second_conversion":90,"sky_frequency":90,"sky_increment":-2},"check":"astronomical fixture 4","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":90,"sky_frequency":90,"sky_increment":-2},"passed":false},{"actual":{"image_frequency":210,"inverse_if":-450,"rest_offset":-60,"second_conversion":187,"sky_frequency":190,"sky_increment":-2},"check":"astronomical fixture 5","expected":{"image_frequency":210,"inverse_if":-50,"rest_offset":-60,"second_conversion":187,"sky_frequency":190,"sky_increment":-2},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -220}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"sky_frequency\": 110, \"sky_increment\": 2, \"image_frequency\": 90, \"second_conversion\": 113, \"rest_offset\": -10, \"inverse_if\": 220}, \"expected\": {\"sky_frequency\": 110, \"sky_increment\": 2, \"image_frequency\": 90, \"second_conversion\": 113, \"rest_offset\": -10, \"inverse_if\": 20}, \"passed\": false}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"sky_frequency\": 100, \"sky_increment\": -2, \"image_frequency\": 100, \"second_conversion\": 97, \"rest_offset\": -20, \"inverse_if\": -220}, \"expected\": {\"sky_frequency\": 100, \"sky_increment\": -2, \"image_frequency\": 100, \"second_conversion\": 97, \"rest_offset\": -20, \"inverse_if\": -20}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": 2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -220}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": 2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 90, \"rest_offset\": -30, \"inverse_if\": -220}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 90, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"sky_frequency\": 190, \"sky_increment\": -2, \"image_frequency\": 210, \"second_conversion\": 187, \"rest_offset\": -60, \"inverse_if\": -450}, \"expected\": {\"sky_frequency\": 190, \"sky_increment\": -2, \"image_frequency\": 210, \"second_conversion\": 187, \"rest_offset\": -60, \"inverse_if\": -50}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.339,"exit_code":1,"observations":[{"actual":{"image_frequency":110,"inverse_if":20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":-2},"check":"astronomical fixture 0","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":-2},"passed":false},{"actual":{"image_frequency":90,"inverse_if":20,"rest_offset":-10,"second_conversion":113,"sky_frequency":110,"sky_increment":2},"check":"astronomical fixture 1","expected":{"image_frequency":90,"inverse_if":20,"rest_offset":-10,"second_conversion":113,"sky_frequency":110,"sky_increment":2},"passed":true},{"actual":{"image_frequency":100,"inverse_if":20,"rest_offset":-20,"second_conversion":97,"sky_frequency":100,"sky_increment":-2},"check":"astronomical fixture 2","expected":{"image_frequency":100,"inverse_if":-20,"rest_offset":-20,"second_conversion":97,"sky_frequency":100,"sky_increment":-2},"passed":false},{"actual":{"image_frequency":110,"inverse_if":20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":2},"check":"astronomical fixture 3","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":2},"passed":false},{"actual":{"image_frequency":110,"inverse_if":20,"rest_offset":-30,"second_conversion":90,"sky_frequency":90,"sky_increment":-2},"check":"astronomical fixture 4","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":90,"sky_frequency":90,"sky_increment":-2},"passed":false},{"actual":{"image_frequency":210,"inverse_if":50,"rest_offset":-60,"second_conversion":187,"sky_frequency":190,"sky_increment":-2},"check":"astronomical fixture 5","expected":{"image_frequency":210,"inverse_if":-50,"rest_offset":-60,"second_conversion":187,"sky_frequency":190,"sky_increment":-2},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": 20}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": false}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"sky_frequency\": 110, \"sky_increment\": 2, \"image_frequency\": 90, \"second_conversion\": 113, \"rest_offset\": -10, \"inverse_if\": 20}, \"expected\": {\"sky_frequency\": 110, \"sky_increment\": 2, \"image_frequency\": 90, \"second_conversion\": 113, \"rest_offset\": -10, \"inverse_if\": 20}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"sky_frequency\": 100, \"sky_increment\": -2, \"image_frequency\": 100, \"second_conversion\": 97, \"rest_offset\": -20, \"inverse_if\": 20}, \"expected\": {\"sky_frequency\": 100, \"sky_increment\": -2, \"image_frequency\": 100, \"second_conversion\": 97, \"rest_offset\": -20, \"inverse_if\": -20}, \"passed\": false}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": 2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": 20}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": 2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": false}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 90, \"rest_offset\": -30, \"inverse_if\": 20}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 90, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": false}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"sky_frequency\": 190, \"sky_increment\": -2, \"image_frequency\": 210, \"second_conversion\": 187, \"rest_offset\": -60, \"inverse_if\": 50}, \"expected\": {\"sky_frequency\": 190, \"sky_increment\": -2, \"image_frequency\": 210, \"second_conversion\": 187, \"rest_offset\": -60, \"inverse_if\": -50}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.529,"exit_code":0,"observations":[{"actual":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":-2},"check":"astronomical fixture 0","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":-2},"passed":true},{"actual":{"image_frequency":90,"inverse_if":20,"rest_offset":-10,"second_conversion":113,"sky_frequency":110,"sky_increment":2},"check":"astronomical fixture 1","expected":{"image_frequency":90,"inverse_if":20,"rest_offset":-10,"second_conversion":113,"sky_frequency":110,"sky_increment":2},"passed":true},{"actual":{"image_frequency":100,"inverse_if":-20,"rest_offset":-20,"second_conversion":97,"sky_frequency":100,"sky_increment":-2},"check":"astronomical fixture 2","expected":{"image_frequency":100,"inverse_if":-20,"rest_offset":-20,"second_conversion":97,"sky_frequency":100,"sky_increment":-2},"passed":true},{"actual":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":2},"check":"astronomical fixture 3","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":87,"sky_frequency":90,"sky_increment":2},"passed":true},{"actual":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":90,"sky_frequency":90,"sky_increment":-2},"check":"astronomical fixture 4","expected":{"image_frequency":110,"inverse_if":-20,"rest_offset":-30,"second_conversion":90,"sky_frequency":90,"sky_increment":-2},"passed":true},{"actual":{"image_frequency":210,"inverse_if":-50,"rest_offset":-60,"second_conversion":187,"sky_frequency":190,"sky_increment":-2},"check":"astronomical fixture 5","expected":{"image_frequency":210,"inverse_if":-50,"rest_offset":-60,"second_conversion":187,"sky_frequency":190,"sky_increment":-2},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"astronomical fixture 0\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -20}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": true}, {\"check\": \"astronomical fixture 1\", \"actual\": {\"sky_frequency\": 110, \"sky_increment\": 2, \"image_frequency\": 90, \"second_conversion\": 113, \"rest_offset\": -10, \"inverse_if\": 20}, \"expected\": {\"sky_frequency\": 110, \"sky_increment\": 2, \"image_frequency\": 90, \"second_conversion\": 113, \"rest_offset\": -10, \"inverse_if\": 20}, \"passed\": true}, {\"check\": \"astronomical fixture 2\", \"actual\": {\"sky_frequency\": 100, \"sky_increment\": -2, \"image_frequency\": 100, \"second_conversion\": 97, \"rest_offset\": -20, \"inverse_if\": -20}, \"expected\": {\"sky_frequency\": 100, \"sky_increment\": -2, \"image_frequency\": 100, \"second_conversion\": 97, \"rest_offset\": -20, \"inverse_if\": -20}, \"passed\": true}, {\"check\": \"astronomical fixture 3\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": 2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -20}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": 2, \"image_frequency\": 110, \"second_conversion\": 87, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": true}, {\"check\": \"astronomical fixture 4\", \"actual\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 90, \"rest_offset\": -30, \"inverse_if\": -20}, \"expected\": {\"sky_frequency\": 90, \"sky_increment\": -2, \"image_frequency\": 110, \"second_conversion\": 90, \"rest_offset\": -30, \"inverse_if\": -20}, \"passed\": true}, {\"check\": \"astronomical fixture 5\", \"actual\": {\"sky_frequency\": 190, \"sky_increment\": -2, \"image_frequency\": 210, \"second_conversion\": 187, \"rest_offset\": -60, \"inverse_if\": -50}, \"expected\": {\"sky_frequency\": 190, \"sky_increment\": -2, \"image_frequency\": 210, \"second_conversion\": 187, \"rest_offset\": -60, \"inverse_if\": -50}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}