FAILURE MAP
← Case archive

FA-12056 / Sensor fusion consistency / Open access

Correlated estimates lose shared uncertainty during fusion · case 01

Reported fused uncertainty is smaller than the shared sensor noise.

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

ROOT CAUSE

Cross covariance is omitted from the best linear unbiased variance.

VERIFIED REPAIR

Use (p*r-c*c)/(p+r-2*c) for the declared two-estimate covariance.

Unsuccessful approach: Adding covariance to the numerator without correcting the denominator remains inconsistent.

Case contract

Given positive p,r and cross covariance c with c*c<p*r and p+r-2*c>0, return exact variance of the minimum-variance unbiased linear combination 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(p, r, c):
    return str(Fraction(p*r,p+r))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('positive shared noise', solve(2*N,2*N,N), str(Fraction(3*N,2)))
check('negative correlation', solve(2*N,2*N,-N), str(Fraction(N,2)))
check('independent equal sensors', solve(N,N,0), str(Fraction(N,2)))
check('unequal independent sensors', solve(N,3*N,0), str(Fraction(3*N,4)))
check('unequal shared noise', solve(2*N,5*N,N), str(Fraction(9*N,5)))
check('unequal opposing noise', solve(2*N,5*N,-N), str(N))
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
positive shared noise13/2Failed
negative correlation11/2Failed
independent equal sensors1/21/2Passed
unequal independent sensors3/43/4Passed
unequal shared noise10/79/5Failed
unequal opposing noise10/71Failed

SHA-256 / 8834dc9a809f4e101cea58fb75700e103d9be2e3fcd21252af5547a6f3f1d861

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(p, r, c):
    return str(Fraction(p*r-c*c,p+r))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('positive shared noise', solve(2*N,2*N,N), str(Fraction(3*N,2)))
check('negative correlation', solve(2*N,2*N,-N), str(Fraction(N,2)))
check('independent equal sensors', solve(N,N,0), str(Fraction(N,2)))
check('unequal independent sensors', solve(N,3*N,0), str(Fraction(3*N,4)))
check('unequal shared noise', solve(2*N,5*N,N), str(Fraction(9*N,5)))
check('unequal opposing noise', solve(2*N,5*N,-N), str(N))
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
positive shared noise3/43/2Failed
negative correlation3/41/2Failed
independent equal sensors1/21/2Passed
unequal independent sensors3/43/4Passed
unequal shared noise9/79/5Failed
unequal opposing noise9/71Failed

SHA-256 / 97ed123f15a802e7430ba362b2bd6c31bd3530c9fb7033ce1116efcf137233ee

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(p, r, c):
    return str(Fraction(p*r-c*c,p+r-2*c))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('positive shared noise', solve(2*N,2*N,N), str(Fraction(3*N,2)))
check('negative correlation', solve(2*N,2*N,-N), str(Fraction(N,2)))
check('independent equal sensors', solve(N,N,0), str(Fraction(N,2)))
check('unequal independent sensors', solve(N,3*N,0), str(Fraction(3*N,4)))
check('unequal shared noise', solve(2*N,5*N,N), str(Fraction(9*N,5)))
check('unequal opposing noise', solve(2*N,5*N,-N), str(N))
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
positive shared noise3/23/2Passed
negative correlation1/21/2Passed
independent equal sensors1/21/2Passed
unequal independent sensors3/43/4Passed
unequal shared noise9/59/5Passed
unequal opposing noise11Passed

SHA-256 / 62943b5a6e4848148906cd095f245bf1ae88d3851ce05a3a196bb2e830c32a11

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.466020+00:00.

Case digest / ae546bad65da3f7c9d20aca3e0e70b788f079ed97eb90612241a896b8b8df54d