FAILURE MAP
← Case archive

FA-55316 / Astronomical coordinate conventions / Open access

Astrometric parallax calibration: Restoring catalog parallax reapplies rather than reverses calibration · case 01

The adapter reports an incorrect uncalibrated roundtrip while other fields remain valid.

Verified by executionVariant 1 · 6 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Restoring catalog parallax reapplies rather than reverses calibration. Faulty expression: d['pi']-2*d['z']-2*d['k']*(d['color']-d['ref'])

VERIFIED REPAIR

Preserve the declared model convention at this site: d['pi']

Unsuccessful approach: A partial convention repair still uses d['pi']-d['k']*(d['color']-d['ref'])

Case contract

Stipulated calibration: catalog parallax pi contains additive global zero point z and color slope k*(color-ref). Corrected parallax subtracts both; calibration variances vz and vk are independent. Unknown distances are outside this model. Negative corrected parallaxes remain measurements. Output fields are defined by: corrected_parallax = d['pi']-d['z']-d['k']*(d['color']-d['ref']); zero_point = d['z']+d['k']*(d['color']-d['ref']); calibrated_variance = d['var']+d['vz']+(d['color']-d['ref'])**2*d['vk']; color_sensitivity = -d['k']; zero_point_variance = d['vz']+(d['color']-d['ref'])**2*d['vk']; uncalibrated_roundtrip = d['pi']

Why this case matters

Catalog, detector, sky-coordinate, and spectroscopy adapters must preserve the association between numeric coordinates and their declared reference conventions.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'corrected_parallax': d['pi']-d['z']-d['k']*(d['color']-d['ref']), 'zero_point': d['z']+d['k']*(d['color']-d['ref']), 'calibrated_variance': d['var']+d['vz']+(d['color']-d['ref'])**2*d['vk'], 'color_sensitivity': -d['k'], 'zero_point_variance': d['vz']+(d['color']-d['ref'])**2*d['vk'], 'uncalibrated_roundtrip': d['pi']-2*d['z']-2*d['k']*(d['color']-d['ref'])}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'pi': 8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 0, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 6, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 8, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 8}), ({'pi': -9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -17, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -9}), ({'pi': 8, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 13, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 0, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 8})], 2: [({'pi': 9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 1, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 7, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 9, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 9}), ({'pi': -8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -16, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -8}), ({'pi': 9, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 14, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 1, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 9})], 3: [({'pi': 10, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 2, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 8, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 10, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 10}), ({'pi': -7, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -15, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -7}), ({'pi': 10, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 15, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 2, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 10})], 4: [({'pi': 11, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 3, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 9, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 11, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 11}), ({'pi': -6, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -14, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -6}), ({'pi': 11, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 16, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 3, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 11})], 5: [({'pi': 12, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 4, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 10, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 12, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 12}), ({'pi': -5, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -13, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -5}), ({'pi': 12, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 17, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 4, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 12})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
astronomical fixture 0{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': -8, 'zero_point': 8, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 8, 'zero_point': 8, 'zero_point_variance': 6}Failed
astronomical fixture 1{'calibrated_variance': 7, 'color_sensitivity': -3, 'corrected_parallax': 6, 'uncalibrated_roundtrip': 4, 'zero_point': 2, 'zero_point_variance': 2}{'calibrated_variance': 7, 'color_sensitivity': -3, 'corrected_parallax': 6, 'uncalibrated_roundtrip': 8, 'zero_point': 2, 'zero_point_variance': 2}Failed
astronomical fixture 2{'calibrated_variance': 11, 'color_sensitivity': 0, 'corrected_parallax': 8, 'uncalibrated_roundtrip': 8, 'zero_point': 0, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': 0, 'corrected_parallax': 8, 'uncalibrated_roundtrip': 8, 'zero_point': 0, 'zero_point_variance': 6}Passed
astronomical fixture 3{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': -17, 'uncalibrated_roundtrip': -25, 'zero_point': 8, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': -17, 'uncalibrated_roundtrip': -9, 'zero_point': 8, 'zero_point_variance': 6}Failed
astronomical fixture 4{'calibrated_variance': 8, 'color_sensitivity': -3, 'corrected_parallax': 13, 'uncalibrated_roundtrip': 18, 'zero_point': -5, 'zero_point_variance': 3}{'calibrated_variance': 8, 'color_sensitivity': -3, 'corrected_parallax': 13, 'uncalibrated_roundtrip': 8, 'zero_point': -5, 'zero_point_variance': 3}Failed
astronomical fixture 5{'calibrated_variance': 5, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': -8, 'zero_point': 8, 'zero_point_variance': 0}{'calibrated_variance': 5, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 8, 'zero_point': 8, 'zero_point_variance': 0}Failed

SHA-256 / 554dcf23082f5540373719fd4c214d40f1afc9d86dcdd3032e6453a97ca5c6fe

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'corrected_parallax': d['pi']-d['z']-d['k']*(d['color']-d['ref']), 'zero_point': d['z']+d['k']*(d['color']-d['ref']), 'calibrated_variance': d['var']+d['vz']+(d['color']-d['ref'])**2*d['vk'], 'color_sensitivity': -d['k'], 'zero_point_variance': d['vz']+(d['color']-d['ref'])**2*d['vk'], 'uncalibrated_roundtrip': d['pi']-d['k']*(d['color']-d['ref'])}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'pi': 8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 0, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 6, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 8, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 8}), ({'pi': -9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -17, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -9}), ({'pi': 8, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 13, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 0, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 8})], 2: [({'pi': 9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 1, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 7, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 9, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 9}), ({'pi': -8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -16, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -8}), ({'pi': 9, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 14, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 1, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 9})], 3: [({'pi': 10, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 2, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 8, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 10, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 10}), ({'pi': -7, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -15, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -7}), ({'pi': 10, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 15, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 2, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 10})], 4: [({'pi': 11, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 3, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 9, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 11, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 11}), ({'pi': -6, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -14, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -6}), ({'pi': 11, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 16, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 3, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 11})], 5: [({'pi': 12, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 4, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 10, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 12, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 12}), ({'pi': -5, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -13, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -5}), ({'pi': 12, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 17, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 4, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 12})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
astronomical fixture 0{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 2, 'zero_point': 8, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 8, 'zero_point': 8, 'zero_point_variance': 6}Failed
astronomical fixture 1{'calibrated_variance': 7, 'color_sensitivity': -3, 'corrected_parallax': 6, 'uncalibrated_roundtrip': 8, 'zero_point': 2, 'zero_point_variance': 2}{'calibrated_variance': 7, 'color_sensitivity': -3, 'corrected_parallax': 6, 'uncalibrated_roundtrip': 8, 'zero_point': 2, 'zero_point_variance': 2}Passed
astronomical fixture 2{'calibrated_variance': 11, 'color_sensitivity': 0, 'corrected_parallax': 8, 'uncalibrated_roundtrip': 8, 'zero_point': 0, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': 0, 'corrected_parallax': 8, 'uncalibrated_roundtrip': 8, 'zero_point': 0, 'zero_point_variance': 6}Passed
astronomical fixture 3{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': -17, 'uncalibrated_roundtrip': -15, 'zero_point': 8, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': -17, 'uncalibrated_roundtrip': -9, 'zero_point': 8, 'zero_point_variance': 6}Failed
astronomical fixture 4{'calibrated_variance': 8, 'color_sensitivity': -3, 'corrected_parallax': 13, 'uncalibrated_roundtrip': 11, 'zero_point': -5, 'zero_point_variance': 3}{'calibrated_variance': 8, 'color_sensitivity': -3, 'corrected_parallax': 13, 'uncalibrated_roundtrip': 8, 'zero_point': -5, 'zero_point_variance': 3}Failed
astronomical fixture 5{'calibrated_variance': 5, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 2, 'zero_point': 8, 'zero_point_variance': 0}{'calibrated_variance': 5, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 8, 'zero_point': 8, 'zero_point_variance': 0}Failed

SHA-256 / 1dca526bbb302a65ce88275d401c782ab73f20485e86024277d99aff9e29e3b0

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'corrected_parallax': d['pi']-d['z']-d['k']*(d['color']-d['ref']), 'zero_point': d['z']+d['k']*(d['color']-d['ref']), 'calibrated_variance': d['var']+d['vz']+(d['color']-d['ref'])**2*d['vk'], 'color_sensitivity': -d['k'], 'zero_point_variance': d['vz']+(d['color']-d['ref'])**2*d['vk'], 'uncalibrated_roundtrip': d['pi']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'pi': 8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 0, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 6, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 8, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 8}), ({'pi': -9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -17, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -9}), ({'pi': 8, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 13, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 8}), ({'pi': 8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 0, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 8})], 2: [({'pi': 9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 1, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 7, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 9, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 9}), ({'pi': -8, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -16, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -8}), ({'pi': 9, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 14, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 9}), ({'pi': 9, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 1, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 9})], 3: [({'pi': 10, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 2, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 8, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 10, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 10}), ({'pi': -7, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -15, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -7}), ({'pi': 10, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 15, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 10}), ({'pi': 10, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 2, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 10})], 4: [({'pi': 11, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 3, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 9, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 11, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 11}), ({'pi': -6, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -14, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -6}), ({'pi': 11, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 16, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 11}), ({'pi': 11, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 3, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 11})], 5: [({'pi': 12, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 4, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 2, 'k': 3, 'color': 2, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 10, 'zero_point': 2, 'calibrated_variance': 7, 'color_sensitivity': -3, 'zero_point_variance': 2, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 0, 'k': 0, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 12, 'zero_point': 0, 'calibrated_variance': 11, 'color_sensitivity': 0, 'zero_point_variance': 6, 'uncalibrated_roundtrip': 12}), ({'pi': -5, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': -13, 'zero_point': 8, 'calibrated_variance': 11, 'color_sensitivity': -3, 'zero_point_variance': 6, 'uncalibrated_roundtrip': -5}), ({'pi': 12, 'z': -2, 'k': 3, 'color': 1, 'ref': 2, 'var': 5, 'vz': 2, 'vk': 1}, {'corrected_parallax': 17, 'zero_point': -5, 'calibrated_variance': 8, 'color_sensitivity': -3, 'zero_point_variance': 3, 'uncalibrated_roundtrip': 12}), ({'pi': 12, 'z': 2, 'k': 3, 'color': 4, 'ref': 2, 'var': 5, 'vz': 0, 'vk': 0}, {'corrected_parallax': 4, 'zero_point': 8, 'calibrated_variance': 5, 'color_sensitivity': -3, 'zero_point_variance': 0, 'uncalibrated_roundtrip': 12})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
astronomical fixture 0{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 8, 'zero_point': 8, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 8, 'zero_point': 8, 'zero_point_variance': 6}Passed
astronomical fixture 1{'calibrated_variance': 7, 'color_sensitivity': -3, 'corrected_parallax': 6, 'uncalibrated_roundtrip': 8, 'zero_point': 2, 'zero_point_variance': 2}{'calibrated_variance': 7, 'color_sensitivity': -3, 'corrected_parallax': 6, 'uncalibrated_roundtrip': 8, 'zero_point': 2, 'zero_point_variance': 2}Passed
astronomical fixture 2{'calibrated_variance': 11, 'color_sensitivity': 0, 'corrected_parallax': 8, 'uncalibrated_roundtrip': 8, 'zero_point': 0, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': 0, 'corrected_parallax': 8, 'uncalibrated_roundtrip': 8, 'zero_point': 0, 'zero_point_variance': 6}Passed
astronomical fixture 3{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': -17, 'uncalibrated_roundtrip': -9, 'zero_point': 8, 'zero_point_variance': 6}{'calibrated_variance': 11, 'color_sensitivity': -3, 'corrected_parallax': -17, 'uncalibrated_roundtrip': -9, 'zero_point': 8, 'zero_point_variance': 6}Passed
astronomical fixture 4{'calibrated_variance': 8, 'color_sensitivity': -3, 'corrected_parallax': 13, 'uncalibrated_roundtrip': 8, 'zero_point': -5, 'zero_point_variance': 3}{'calibrated_variance': 8, 'color_sensitivity': -3, 'corrected_parallax': 13, 'uncalibrated_roundtrip': 8, 'zero_point': -5, 'zero_point_variance': 3}Passed
astronomical fixture 5{'calibrated_variance': 5, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 8, 'zero_point': 8, 'zero_point_variance': 0}{'calibrated_variance': 5, 'color_sensitivity': -3, 'corrected_parallax': 0, 'uncalibrated_roundtrip': 8, 'zero_point': 8, 'zero_point_variance': 0}Passed

SHA-256 / ea359a3abb25091310faf5bcf4af99852b17ae9c9bfd3db49ed4ccffc8e04db3

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:45:56.594267+00:00.

Case digest / 41d99144c9bbc0c7886e054c154aa367381600e41944bb491c9a430bcf5eaeb3