FA-12081 / Sensor fusion consistency / Open access
Delayed measurement is applied at the current state epoch · case 01
A late position fix pulls the present estimate backwards along the trajectory.
ROOT CAUSE
Residual uses current position for an older acquisition timestamp.
VERIFIED REPAIR
Rewind the deterministic trajectory, apply the scalar half-gain update, and replay motion.
Unsuccessful approach: Updating at acquisition time without replay returns an estimate at the wrong epoch.
Case contract
Constant known velocity model: x is current position, age nonnegative delay, z delayed position measurement. Return current position after a half-gain historical update and replay, as a fraction string.
Why this case matters
Deterministic sensor-fusion model isolating one consistency contract; no hardware or production estimator is simulated.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(x, velocity, age, z):
return str(Fraction(x+z,2))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('consistent delayed fix', solve(10*N,N,2,8*N), str(10*N))
check('delayed correction', solve(10*N,N,2,6*N), str(9*N))
check('no delay', solve(10*N,N,0,8*N), str(9*N))
check('stationary target', solve(10*N,0,2,8*N), str(9*N))
check('reverse trajectory', solve(10*N,-N,2,12*N), str(10*N))
check('fractional update', solve(N,1,1,0), str(Fraction(N+1,2)))
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 |
|---|---|---|---|
| consistent delayed fix | 9 | 10 | Failed |
| delayed correction | 8 | 9 | Failed |
| no delay | 9 | 9 | Passed |
| stationary target | 9 | 9 | Passed |
| reverse trajectory | 11 | 10 | Failed |
| fractional update | 1/2 | 1 | Failed |
SHA-256 / 82273291edc729e252916e92997f928e892c5a17fea28d8d563135ce95cef2f3
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(x, velocity, age, z):
return str(Fraction(x-velocity*age+z,2))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('consistent delayed fix', solve(10*N,N,2,8*N), str(10*N))
check('delayed correction', solve(10*N,N,2,6*N), str(9*N))
check('no delay', solve(10*N,N,0,8*N), str(9*N))
check('stationary target', solve(10*N,0,2,8*N), str(9*N))
check('reverse trajectory', solve(10*N,-N,2,12*N), str(10*N))
check('fractional update', solve(N,1,1,0), str(Fraction(N+1,2)))
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 |
|---|---|---|---|
| consistent delayed fix | 8 | 10 | Failed |
| delayed correction | 7 | 9 | Failed |
| no delay | 9 | 9 | Passed |
| stationary target | 9 | 9 | Passed |
| reverse trajectory | 12 | 10 | Failed |
| fractional update | 0 | 1 | Failed |
SHA-256 / 37650692af86a23a34ede70fb5c399653eefe318df7ee327e48d41440464a53f
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(x, velocity, age, z):
return str(Fraction(x+z+velocity*age,2))
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('consistent delayed fix', solve(10*N,N,2,8*N), str(10*N))
check('delayed correction', solve(10*N,N,2,6*N), str(9*N))
check('no delay', solve(10*N,N,0,8*N), str(9*N))
check('stationary target', solve(10*N,0,2,8*N), str(9*N))
check('reverse trajectory', solve(10*N,-N,2,12*N), str(10*N))
check('fractional update', solve(N,1,1,0), str(Fraction(N+1,2)))
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 |
|---|---|---|---|
| consistent delayed fix | 10 | 10 | Passed |
| delayed correction | 9 | 9 | Passed |
| no delay | 9 | 9 | Passed |
| stationary target | 9 | 9 | Passed |
| reverse trajectory | 10 | 10 | Passed |
| fractional update | 1 | 1 | Passed |
SHA-256 / 4c0d99ef6b8593a83fcabf6193f8040166e8328b9a6ad552565d392db9d4c8c7
Verification & scope
Exact small scalar or two-axis models; no nonlinear dynamics, numerical conditioning, or real sensor noise simulation. 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:53.676236+00:00.
Case digest / faac318300f5bc0b713b0b0829bae2ff89a9d05cf7ec841537cbb849a888a266