FAILURE MAP
← Case archive

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.

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

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 fixtureActualExpectedOutcome
consistent delayed fix910Failed
delayed correction89Failed
no delay99Passed
stationary target99Passed
reverse trajectory1110Failed
fractional update1/21Failed

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 fixtureActualExpectedOutcome
consistent delayed fix810Failed
delayed correction79Failed
no delay99Passed
stationary target99Passed
reverse trajectory1210Failed
fractional update01Failed

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 fixtureActualExpectedOutcome
consistent delayed fix1010Passed
delayed correction99Passed
no delay99Passed
stationary target99Passed
reverse trajectory1010Passed
fractional update11Passed

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