FAILURE MAP
← Case archive

FA-12166 / Astronomical coordinate conventions / Open access

An absent catalog distance becomes a fabricated spatial point · case 01

An absent catalog distance becomes a fabricated spatial point.

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

ROOT CAUSE

A direction-only entry receives an invented distance.

VERIFIED REPAIR

Keep missing distance distinct from all numeric distances.

Unsuccessful approach: Truthiness conflates the explicit zero-distance sentinel with absence.

Case contract

Toy catalog projection: direction is a three-number vector; distance None means unknown and returns None; all nonnegative numeric distances including zero produce componentwise products.

Why this case matters

Astronomical catalog and observation adapters must preserve the declared coordinate convention across software boundaries.

1 / The failure

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

N = 1
observations = []
def solve(direction, distance):
    return [v*(distance if distance is not None else 1) for v in direction]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('unknown', solve([1,0,0], None), None)
check('explicit zero', solve([1,0,0], 0), [0,0,0])
check('known radial', solve([1,0,0], N), [N,0,0])
check('other axis', solve([0,1,0], N), [0,N,0])
check('signed direction', solve([-1,0,0], N), [-N,0,0])
check('fractional distance', solve([0,0,1], 0.5), [0,0,0.5])
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
unknown[1, 0, 0]NoneFailed
explicit zero[0, 0, 0][0, 0, 0]Passed
known radial[1, 0, 0][1, 0, 0]Passed
other axis[0, 1, 0][0, 1, 0]Passed
signed direction[-1, 0, 0][-1, 0, 0]Passed
fractional distance[0.0, 0.0, 0.5][0, 0, 0.5]Passed

SHA-256 / f404ed844bde40431d2cd84e88136e305ca49eaa6847d5259d2b662d90036693

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(direction, distance):
    return [v*distance for v in direction] if distance else None
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('unknown', solve([1,0,0], None), None)
check('explicit zero', solve([1,0,0], 0), [0,0,0])
check('known radial', solve([1,0,0], N), [N,0,0])
check('other axis', solve([0,1,0], N), [0,N,0])
check('signed direction', solve([-1,0,0], N), [-N,0,0])
check('fractional distance', solve([0,0,1], 0.5), [0,0,0.5])
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
unknownNoneNonePassed
explicit zeroNone[0, 0, 0]Failed
known radial[1, 0, 0][1, 0, 0]Passed
other axis[0, 1, 0][0, 1, 0]Passed
signed direction[-1, 0, 0][-1, 0, 0]Passed
fractional distance[0.0, 0.0, 0.5][0, 0, 0.5]Passed

SHA-256 / 7ac77318b8dd8321f9230a54bd6a568a7b96dd221d40065d5a0c1bf7a0ce247c

3 / The verified repair

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

N = 1
observations = []
def solve(direction, distance):
    return None if distance is None else [v*distance for v in direction]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('unknown', solve([1,0,0], None), None)
check('explicit zero', solve([1,0,0], 0), [0,0,0])
check('known radial', solve([1,0,0], N), [N,0,0])
check('other axis', solve([0,1,0], N), [0,N,0])
check('signed direction', solve([-1,0,0], N), [-N,0,0])
check('fractional distance', solve([0,0,1], 0.5), [0,0,0.5])
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
unknownNoneNonePassed
explicit zero[0, 0, 0][0, 0, 0]Passed
known radial[1, 0, 0][1, 0, 0]Passed
other axis[0, 1, 0][0, 1, 0]Passed
signed direction[-1, 0, 0][-1, 0, 0]Passed
fractional distance[0.0, 0.0, 0.5][0, 0, 0.5]Passed

SHA-256 / cc93dc5d2abbc6cb063b638e61ab202eca6f71012234a6060a5cccd38ab5d0bc

Verification & scope

Deterministic stipulated adapter model; no ephemeris, physical accuracy, or production astronomy library claims. 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:38:54.330229+00:00.

Case digest / 939ce38b9bca3515a9a7b371ac1d8a41d3b5450c390ab8c9a3d87e0c8eb8b9b7