{"abstract":"Frame conversion drops the sign of cross-axis covariance.","category":"Robotics frame conventions","checks":6,"contract":"A symmetric 2D covariance [[a,c],[c,b]] in x,y is converted to coordinates [-y,x]. Return [[b,-c],[-c,a]]. Inputs are positive semidefinite.","contract_signature":"a,b,c","evaluation_group":"model-3f82d63898dc67cf","failed_approach":"Swapping diagonal variances but leaving covariance positive omits the axis sign change.","family":"z-robotics_frames-covariance-axis-correlation","id":"FA-12131","implementations":{"attempt":{"sha256":"955698f5f5a51dd5c1ac0c18ecd29752e5ec467f5900db069d6121884398151d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\ndef rot(v, q):\n    x,y = v\n    return [(x,y),(-y,x),(-x,-y),(y,-x)][q%4]\n\nN = 1\nobservations = []\ndef solve(a,b,c):\n    return [[b,c],[c,a]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('correlated', solve(4*N,9*N,2*N), [[9*N,-2*N],[-2*N,4*N]])\ncheck('negative correlation', solve(4*N,9*N,-2*N), [[9*N,2*N],[2*N,4*N]])\ncheck('diagonal', solve(N,2*N,0), [[2*N,0],[0,N]])\ncheck('isotropic', solve(N,N,0), [[N,0],[0,N]])\ncheck('zero uncertainty', solve(0,0,0), [[0,0],[0,0]])\ncheck('rank one', solve(N,N,N), [[N,-N],[-N,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":"006cf59fdf4dc8ec16f997e2ac55ed288a8aec47076ba1e55a53da32eae511b9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\ndef rot(v, q):\n    x,y = v\n    return [(x,y),(-y,x),(-x,-y),(y,-x)][q%4]\n\nN = 1\nobservations = []\ndef solve(a,b,c):\n    return [[a,c],[c,b]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('correlated', solve(4*N,9*N,2*N), [[9*N,-2*N],[-2*N,4*N]])\ncheck('negative correlation', solve(4*N,9*N,-2*N), [[9*N,2*N],[2*N,4*N]])\ncheck('diagonal', solve(N,2*N,0), [[2*N,0],[0,N]])\ncheck('isotropic', solve(N,N,0), [[N,0],[0,N]])\ncheck('zero uncertainty', solve(0,0,0), [[0,0],[0,0]])\ncheck('rank one', solve(N,N,N), [[N,-N],[-N,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":"Small exact offline frame model; not a robot middleware implementation or continuous pose estimator. 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-robotics_frames-covariance-axis-correlation","generated_at":"2026-09-29T14:38:54.159465+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Robot adapters must preserve the declared frame, reference point, and representation conventions across interfaces.","root_cause":"A covariance matrix is relabeled without applying the frame basis transform.","sha256":"cb5c4356f16e87b6dca1b8135e7b6a1d267accd6d2205a0f128721135bbf7254","title":"Frame conversion drops the sign of cross-axis covariance · 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":38.267,"exit_code":1,"observations":[{"actual":[[9,2],[2,4]],"check":"correlated","expected":[[9,-2],[-2,4]],"passed":false},{"actual":[[9,-2],[-2,4]],"check":"negative correlation","expected":[[9,2],[2,4]],"passed":false},{"actual":[[2,0],[0,1]],"check":"diagonal","expected":[[2,0],[0,1]],"passed":true},{"actual":[[1,0],[0,1]],"check":"isotropic","expected":[[1,0],[0,1]],"passed":true},{"actual":[[0,0],[0,0]],"check":"zero uncertainty","expected":[[0,0],[0,0]],"passed":true},{"actual":[[1,1],[1,1]],"check":"rank one","expected":[[1,-1],[-1,1]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"correlated\", \"actual\": [[9, 2], [2, 4]], \"expected\": [[9, -2], [-2, 4]], \"passed\": false}, {\"check\": \"negative correlation\", \"actual\": [[9, -2], [-2, 4]], \"expected\": [[9, 2], [2, 4]], \"passed\": false}, {\"check\": \"diagonal\", \"actual\": [[2, 0], [0, 1]], \"expected\": [[2, 0], [0, 1]], \"passed\": true}, {\"check\": \"isotropic\", \"actual\": [[1, 0], [0, 1]], \"expected\": [[1, 0], [0, 1]], \"passed\": true}, {\"check\": \"zero uncertainty\", \"actual\": [[0, 0], [0, 0]], \"expected\": [[0, 0], [0, 0]], \"passed\": true}, {\"check\": \"rank one\", \"actual\": [[1, 1], [1, 1]], \"expected\": [[1, -1], [-1, 1]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.44,"exit_code":1,"observations":[{"actual":[[4,2],[2,9]],"check":"correlated","expected":[[9,-2],[-2,4]],"passed":false},{"actual":[[4,-2],[-2,9]],"check":"negative correlation","expected":[[9,2],[2,4]],"passed":false},{"actual":[[1,0],[0,2]],"check":"diagonal","expected":[[2,0],[0,1]],"passed":false},{"actual":[[1,0],[0,1]],"check":"isotropic","expected":[[1,0],[0,1]],"passed":true},{"actual":[[0,0],[0,0]],"check":"zero uncertainty","expected":[[0,0],[0,0]],"passed":true},{"actual":[[1,1],[1,1]],"check":"rank one","expected":[[1,-1],[-1,1]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"correlated\", \"actual\": [[4, 2], [2, 9]], \"expected\": [[9, -2], [-2, 4]], \"passed\": false}, {\"check\": \"negative correlation\", \"actual\": [[4, -2], [-2, 9]], \"expected\": [[9, 2], [2, 4]], \"passed\": false}, {\"check\": \"diagonal\", \"actual\": [[1, 0], [0, 2]], \"expected\": [[2, 0], [0, 1]], \"passed\": false}, {\"check\": \"isotropic\", \"actual\": [[1, 0], [0, 1]], \"expected\": [[1, 0], [0, 1]], \"passed\": true}, {\"check\": \"zero uncertainty\", \"actual\": [[0, 0], [0, 0]], \"expected\": [[0, 0], [0, 0]], \"passed\": true}, {\"check\": \"rank one\", \"actual\": [[1, 1], [1, 1]], \"expected\": [[1, -1], [-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."}}