FA-55791 / Astronomical coordinate conventions / Open access
Celestial stereographic projection: Stereographic north chart origin is taken from longitude metadata · case 01
The adapter reports an incorrect translated north while other fields remain valid.
ROOT CAUSE
Stereographic north chart origin is taken from longitude metadata. Faulty expression: d['ox']+2*d['n']/(1+d['z']) if d['z']>-1 else None
VERIFIED REPAIR
Preserve the declared model convention at this site: d['oy']+2*d['n']/(1+d['z']) if d['z']>-1 else None
Unsuccessful approach: A partial convention repair still uses d['oy']-2*d['n']/(1+d['z']) if d['z']>-1 else None
Case contract
A supplied direction e,n,z is mapped by a stipulated stereographic sky chart with scale 2/(1+z), valid z>-1. Reference chart origin ox,oy is added only after projection. Exact antipode has no finite chart coordinate; inputs here have z>=-1. Output fields are defined by: plane_east = 2*d['e']/(1+d['z']) if d['z']>-1 else None; plane_north = 2*d['n']/(1+d['z']) if d['z']>-1 else None; valid = d['z']>-1; translated_east = d['ox']+2*d['e']/(1+d['z']) if d['z']>-1 else None; translated_north = d['oy']+2*d['n']/(1+d['z']) if d['z']>-1 else None; radial_scale = 2/(1+d['z']) if d['z']>-1 else None
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 {'plane_east': 2*d['e']/(1+d['z']) if d['z']>-1 else None, 'plane_north': 2*d['n']/(1+d['z']) if d['z']>-1 else None, 'valid': d['z']>-1, 'translated_east': d['ox']+2*d['e']/(1+d['z']) if d['z']>-1 else None, 'translated_north': d['ox']+2*d['n']/(1+d['z']) if d['z']>-1 else None, 'radial_scale': 2/(1+d['z']) if d['z']>-1 else None}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'e': 2, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 2.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 12.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 2, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 2, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 2, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'valid': True, 'translated_east': 12.666666666666666, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 2, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 2.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 2.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 2, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 2: [({'e': 3, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 3.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 13.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 3, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 6.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 16.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 3, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 3, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 4.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 3, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 3.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 3.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 3, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 12.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 22.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 3: [({'e': 4, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 4, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 4, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 4, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 5.333333333333333, 'plane_north': 4.0, 'valid': True, 'translated_east': 15.333333333333332, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 4, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 4.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 4.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 4, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 16.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 26.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 4: [({'e': 5, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 5.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 15.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 5, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 10.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 20.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 5, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 5, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 6.666666666666667, 'plane_north': 4.0, 'valid': True, 'translated_east': 16.666666666666668, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 5, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 5.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 5.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 5, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 20.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 30.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 5: [({'e': 6, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 6.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 16.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 6, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 12.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 22.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 6, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 6, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': 4.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 6, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 6.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 6.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 6, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 24.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 34.0, 'translated_north': 12.0, 'radial_scale': 4.0})]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| astronomical fixture 0 | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 12.0, 'translated_north': 13.0, 'valid': True} | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 12.0, 'translated_north': 23.0, 'valid': True} | Failed |
| astronomical fixture 1 | {'plane_east': 4.0, 'plane_north': 6.0, 'radial_scale': 2.0, 'translated_east': 14.0, 'translated_north': 16.0, 'valid': True} | {'plane_east': 4.0, 'plane_north': 6.0, 'radial_scale': 2.0, 'translated_east': 14.0, 'translated_north': 26.0, 'valid': True} | Failed |
| astronomical fixture 2 | {'plane_east': None, 'plane_north': None, 'radial_scale': None, 'translated_east': None, 'translated_north': None, 'valid': False} | {'plane_east': None, 'plane_north': None, 'radial_scale': None, 'translated_east': None, 'translated_north': None, 'valid': False} | Passed |
| astronomical fixture 3 | {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'radial_scale': 1.3333333333333333, 'translated_east': 12.666666666666666, 'translated_north': 14.0, 'valid': True} | {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'radial_scale': 1.3333333333333333, 'translated_east': 12.666666666666666, 'translated_north': 24.0, 'valid': True} | Failed |
| astronomical fixture 4 | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 2.0, 'translated_north': 3.0, 'valid': True} | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 2.0, 'translated_north': 3.0, 'valid': True} | Passed |
| astronomical fixture 5 | {'plane_east': 8.0, 'plane_north': -8.0, 'radial_scale': 4.0, 'translated_east': 18.0, 'translated_north': 2.0, 'valid': True} | {'plane_east': 8.0, 'plane_north': -8.0, 'radial_scale': 4.0, 'translated_east': 18.0, 'translated_north': 12.0, 'valid': True} | Failed |
SHA-256 / 4814b5cccebf4f0c1f23a9a9e463aaf5a235a7e117babecc97342bf11176d76b
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
return {'plane_east': 2*d['e']/(1+d['z']) if d['z']>-1 else None, 'plane_north': 2*d['n']/(1+d['z']) if d['z']>-1 else None, 'valid': d['z']>-1, 'translated_east': d['ox']+2*d['e']/(1+d['z']) if d['z']>-1 else None, 'translated_north': d['oy']-2*d['n']/(1+d['z']) if d['z']>-1 else None, 'radial_scale': 2/(1+d['z']) if d['z']>-1 else None}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'e': 2, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 2.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 12.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 2, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 2, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 2, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'valid': True, 'translated_east': 12.666666666666666, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 2, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 2.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 2.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 2, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 2: [({'e': 3, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 3.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 13.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 3, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 6.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 16.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 3, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 3, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 4.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 3, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 3.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 3.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 3, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 12.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 22.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 3: [({'e': 4, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 4, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 4, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 4, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 5.333333333333333, 'plane_north': 4.0, 'valid': True, 'translated_east': 15.333333333333332, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 4, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 4.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 4.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 4, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 16.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 26.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 4: [({'e': 5, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 5.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 15.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 5, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 10.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 20.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 5, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 5, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 6.666666666666667, 'plane_north': 4.0, 'valid': True, 'translated_east': 16.666666666666668, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 5, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 5.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 5.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 5, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 20.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 30.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 5: [({'e': 6, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 6.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 16.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 6, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 12.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 22.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 6, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 6, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': 4.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 6, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 6.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 6.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 6, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 24.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 34.0, 'translated_north': 12.0, 'radial_scale': 4.0})]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| astronomical fixture 0 | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 12.0, 'translated_north': 17.0, 'valid': True} | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 12.0, 'translated_north': 23.0, 'valid': True} | Failed |
| astronomical fixture 1 | {'plane_east': 4.0, 'plane_north': 6.0, 'radial_scale': 2.0, 'translated_east': 14.0, 'translated_north': 14.0, 'valid': True} | {'plane_east': 4.0, 'plane_north': 6.0, 'radial_scale': 2.0, 'translated_east': 14.0, 'translated_north': 26.0, 'valid': True} | Failed |
| astronomical fixture 2 | {'plane_east': None, 'plane_north': None, 'radial_scale': None, 'translated_east': None, 'translated_north': None, 'valid': False} | {'plane_east': None, 'plane_north': None, 'radial_scale': None, 'translated_east': None, 'translated_north': None, 'valid': False} | Passed |
| astronomical fixture 3 | {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'radial_scale': 1.3333333333333333, 'translated_east': 12.666666666666666, 'translated_north': 16.0, 'valid': True} | {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'radial_scale': 1.3333333333333333, 'translated_east': 12.666666666666666, 'translated_north': 24.0, 'valid': True} | Failed |
| astronomical fixture 4 | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 2.0, 'translated_north': -3.0, 'valid': True} | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 2.0, 'translated_north': 3.0, 'valid': True} | Failed |
| astronomical fixture 5 | {'plane_east': 8.0, 'plane_north': -8.0, 'radial_scale': 4.0, 'translated_east': 18.0, 'translated_north': 28.0, 'valid': True} | {'plane_east': 8.0, 'plane_north': -8.0, 'radial_scale': 4.0, 'translated_east': 18.0, 'translated_north': 12.0, 'valid': True} | Failed |
SHA-256 / 668051ecc33c01894651b0c7a45464e444c92b299686d84e1c1f07c44342f48e
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
return {'plane_east': 2*d['e']/(1+d['z']) if d['z']>-1 else None, 'plane_north': 2*d['n']/(1+d['z']) if d['z']>-1 else None, 'valid': d['z']>-1, 'translated_east': d['ox']+2*d['e']/(1+d['z']) if d['z']>-1 else None, 'translated_north': d['oy']+2*d['n']/(1+d['z']) if d['z']>-1 else None, 'radial_scale': 2/(1+d['z']) if d['z']>-1 else None}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'e': 2, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 2.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 12.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 2, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 2, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 2, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'valid': True, 'translated_east': 12.666666666666666, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 2, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 2.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 2.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 2, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 2: [({'e': 3, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 3.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 13.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 3, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 6.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 16.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 3, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 3, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 4.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 3, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 3.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 3.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 3, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 12.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 22.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 3: [({'e': 4, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 4.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 14.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 4, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 4, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 4, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 5.333333333333333, 'plane_north': 4.0, 'valid': True, 'translated_east': 15.333333333333332, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 4, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 4.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 4.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 4, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 16.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 26.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 4: [({'e': 5, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 5.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 15.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 5, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 10.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 20.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 5, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 5, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 6.666666666666667, 'plane_north': 4.0, 'valid': True, 'translated_east': 16.666666666666668, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 5, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 5.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 5.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 5, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 20.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 30.0, 'translated_north': 12.0, 'radial_scale': 4.0})], 5: [({'e': 6, 'n': 3, 'z': 1, 'ox': 10, 'oy': 20}, {'plane_east': 6.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 16.0, 'translated_north': 23.0, 'radial_scale': 1.0}), ({'e': 6, 'n': 3, 'z': 0, 'ox': 10, 'oy': 20}, {'plane_east': 12.0, 'plane_north': 6.0, 'valid': True, 'translated_east': 22.0, 'translated_north': 26.0, 'radial_scale': 2.0}), ({'e': 6, 'n': 3, 'z': -1, 'ox': 10, 'oy': 20}, {'plane_east': None, 'plane_north': None, 'valid': False, 'translated_east': None, 'translated_north': None, 'radial_scale': None}), ({'e': 6, 'n': 3, 'z': 0.5, 'ox': 10, 'oy': 20}, {'plane_east': 8.0, 'plane_north': 4.0, 'valid': True, 'translated_east': 18.0, 'translated_north': 24.0, 'radial_scale': 1.3333333333333333}), ({'e': 6, 'n': 3, 'z': 1, 'ox': 0, 'oy': 0}, {'plane_east': 6.0, 'plane_north': 3.0, 'valid': True, 'translated_east': 6.0, 'translated_north': 3.0, 'radial_scale': 1.0}), ({'e': 6, 'n': -2, 'z': -0.5, 'ox': 10, 'oy': 20}, {'plane_east': 24.0, 'plane_north': -8.0, 'valid': True, 'translated_east': 34.0, 'translated_north': 12.0, 'radial_scale': 4.0})]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| astronomical fixture 0 | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 12.0, 'translated_north': 23.0, 'valid': True} | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 12.0, 'translated_north': 23.0, 'valid': True} | Passed |
| astronomical fixture 1 | {'plane_east': 4.0, 'plane_north': 6.0, 'radial_scale': 2.0, 'translated_east': 14.0, 'translated_north': 26.0, 'valid': True} | {'plane_east': 4.0, 'plane_north': 6.0, 'radial_scale': 2.0, 'translated_east': 14.0, 'translated_north': 26.0, 'valid': True} | Passed |
| astronomical fixture 2 | {'plane_east': None, 'plane_north': None, 'radial_scale': None, 'translated_east': None, 'translated_north': None, 'valid': False} | {'plane_east': None, 'plane_north': None, 'radial_scale': None, 'translated_east': None, 'translated_north': None, 'valid': False} | Passed |
| astronomical fixture 3 | {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'radial_scale': 1.3333333333333333, 'translated_east': 12.666666666666666, 'translated_north': 24.0, 'valid': True} | {'plane_east': 2.6666666666666665, 'plane_north': 4.0, 'radial_scale': 1.3333333333333333, 'translated_east': 12.666666666666666, 'translated_north': 24.0, 'valid': True} | Passed |
| astronomical fixture 4 | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 2.0, 'translated_north': 3.0, 'valid': True} | {'plane_east': 2.0, 'plane_north': 3.0, 'radial_scale': 1.0, 'translated_east': 2.0, 'translated_north': 3.0, 'valid': True} | Passed |
| astronomical fixture 5 | {'plane_east': 8.0, 'plane_north': -8.0, 'radial_scale': 4.0, 'translated_east': 18.0, 'translated_north': 12.0, 'valid': True} | {'plane_east': 8.0, 'plane_north': -8.0, 'radial_scale': 4.0, 'translated_east': 18.0, 'translated_north': 12.0, 'valid': True} | Passed |
SHA-256 / a0b80aee50b23fc7cb3daa90b2eccf63756f35dcf01c810199a8da8b5ce59377
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:46:01.153964+00:00.
Case digest / 5b5b4c6e52644e0e328830333b9180927cabedc27393c643ab8f2493f1519194