{"abstract":"A sensor observing only one axis overwrites the other estimate.","category":"Sensor fusion consistency","checks":6,"contract":"Two-axis scalar-gain model: return each prior component averaged with the corresponding observation if it is not None; otherwise retain prior. Return fraction strings.","contract_signature":"prior, observed","evaluation_group":"model-a1d37e8a15948ab4","failed_approach":"Truthiness treats zero-valued observations as missing.","family":"z-sensor_fusion-unobserved-axis","id":"FA-12061","implementations":{"attempt":{"sha256":"767c70bd0eaa9c222946971f3a90973ed42bc8416e9fa4ff7f44bf17b6435774","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(prior, observed):\n    return [str(Fraction(p+z,2)) if z else str(p) for p,z in zip(prior,observed)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('missing y', solve([N,2*N],[3*N,None]), [str(2*N),str(2*N)])\ncheck('observed zero', solve([2*N,4*N],[0,0]), [str(N),str(2*N)])\ncheck('missing x', solve([N,2*N],[None,0]), [str(N),str(N)])\ncheck('both missing', solve([N,-N],[None,None]), [str(N),str(-N)])\ncheck('both observed', solve([N,N],[3*N,5*N]), [str(2*N),str(3*N)])\ncheck('negative observation', solve([N,N],[-3*N,None]), [str(-N),str(N)])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"dd661242f610754dd617709a1a746f13d833af1092baaa318788669068890327","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(prior, observed):\n    return [str(Fraction(p+(z or 0),2)) for p,z in zip(prior,observed)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('missing y', solve([N,2*N],[3*N,None]), [str(2*N),str(2*N)])\ncheck('observed zero', solve([2*N,4*N],[0,0]), [str(N),str(2*N)])\ncheck('missing x', solve([N,2*N],[None,0]), [str(N),str(N)])\ncheck('both missing', solve([N,-N],[None,None]), [str(N),str(-N)])\ncheck('both observed', solve([N,N],[3*N,5*N]), [str(2*N),str(3*N)])\ncheck('negative observation', solve([N,N],[-3*N,None]), [str(-N),str(N)])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"z-sensor_fusion-unobserved-axis","generated_at":"2026-09-29T14:38:53.503345+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Deterministic sensor-fusion model isolating one consistency contract; no hardware or production estimator is simulated.","root_cause":"Missing values are filled with a zero pseudo-measurement.","sha256":"513bf2a3b16c92530e4b62cd0829d5d538531c7b964ce5c677a6eacf53e82208","title":"Missing measurement axis resets a tracked component · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":44.123,"exit_code":1,"observations":[{"actual":["2","2"],"check":"missing y","expected":["2","2"],"passed":true},{"actual":["2","4"],"check":"observed zero","expected":["1","2"],"passed":false},{"actual":["1","2"],"check":"missing x","expected":["1","1"],"passed":false},{"actual":["1","-1"],"check":"both missing","expected":["1","-1"],"passed":true},{"actual":["2","3"],"check":"both observed","expected":["2","3"],"passed":true},{"actual":["-1","1"],"check":"negative observation","expected":["-1","1"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"missing y\", \"actual\": [\"2\", \"2\"], \"expected\": [\"2\", \"2\"], \"passed\": true}, {\"check\": \"observed zero\", \"actual\": [\"2\", \"4\"], \"expected\": [\"1\", \"2\"], \"passed\": false}, {\"check\": \"missing x\", \"actual\": [\"1\", \"2\"], \"expected\": [\"1\", \"1\"], \"passed\": false}, {\"check\": \"both missing\", \"actual\": [\"1\", \"-1\"], \"expected\": [\"1\", \"-1\"], \"passed\": true}, {\"check\": \"both observed\", \"actual\": [\"2\", \"3\"], \"expected\": [\"2\", \"3\"], \"passed\": true}, {\"check\": \"negative observation\", \"actual\": [\"-1\", \"1\"], \"expected\": [\"-1\", \"1\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.754,"exit_code":1,"observations":[{"actual":["2","1"],"check":"missing y","expected":["2","2"],"passed":false},{"actual":["1","2"],"check":"observed zero","expected":["1","2"],"passed":true},{"actual":["1/2","1"],"check":"missing x","expected":["1","1"],"passed":false},{"actual":["1/2","-1/2"],"check":"both missing","expected":["1","-1"],"passed":false},{"actual":["2","3"],"check":"both observed","expected":["2","3"],"passed":true},{"actual":["-1","1/2"],"check":"negative observation","expected":["-1","1"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"missing y\", \"actual\": [\"2\", \"1\"], \"expected\": [\"2\", \"2\"], \"passed\": false}, {\"check\": \"observed zero\", \"actual\": [\"1\", \"2\"], \"expected\": [\"1\", \"2\"], \"passed\": true}, {\"check\": \"missing x\", \"actual\": [\"1/2\", \"1\"], \"expected\": [\"1\", \"1\"], \"passed\": false}, {\"check\": \"both missing\", \"actual\": [\"1/2\", \"-1/2\"], \"expected\": [\"1\", \"-1\"], \"passed\": false}, {\"check\": \"both observed\", \"actual\": [\"2\", \"3\"], \"expected\": [\"2\", \"3\"], \"passed\": true}, {\"check\": \"negative observation\", \"actual\": [\"-1\", \"1/2\"], \"expected\": [\"-1\", \"1\"], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}