{"abstract":"Cancelling deviation and variation shows as 0.0W.","category":"Tide and marine navigation tables","checks":7,"contract":"Input [value, frm, to, var, dev] with frm/to in C (compass), M (magnetic), T (true); var and dev like \"3.5W\"/\"2E\" (east positive). M=C+dev, T=M+var; converting downward subtracts. Return [value mod 360 rounded 1, total compass error dev+var as \"x.xE\"/\"x.xW\" or \"0\"].","evaluation_group":"w2-tide_and_marine_navigation_tables-compass_conversion","failed_approach":"Special-casing zero but dropping abs() prints negative westerly errors.","family":"w2-tide_and_marine_navigation_tables-compass_conversion-zero-error-text","id":"FA-69286","implementations":{"attempt":{"sha256":"caebe0cce607200318816a3c79aeec32fdc64a9054acc513411ff629930ef2f8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    val,frm,to,var,dev=x\n    def sg(s):\n        v=float(s[:-1])\n        return v if s[-1]=='E' else -v\n    lvl={'C':0,'M':1,'T':2}\n    corr=[sg(dev),sg(var)]\n    a,b=lvl[frm],lvl[to]\n    if b>a: val+=sum(corr[a:b])\n    else: val-=sum(corr[b:a])\n    e=sum(corr)\n    err='0' if e==0 else '%.1f%s'%(e,'E' if e>0 else 'W')\n    return [round(val%360,1),err]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W'])], [('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W']), ('compass variation and deviation [200, \"C\", \"M\", \"0.5E\", \"1.5W\"]', [200, 'C', 'M', '0.5E', '1.5W'], [198.5, '1.0W']), ('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0'])], [('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [200, \"C\", \"M\", \"0.5E\", \"1.5W\"]', [200, 'C', 'M', '0.5E', '1.5W'], [198.5, '1.0W']), ('compass variation and deviation [270.5, \"C\", \"T\", \"12.5E\", \"3.5E\"]', [270.5, 'C', 'T', '12.5E', '3.5E'], [286.5, '16.0E']), ('compass variation and deviation [1, \"T\", \"C\", \"2E\", \"3E\"]', [1, 'T', 'C', '2E', '3E'], [356.0, '5.0E']), ('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [180, \"M\", \"T\", \"0E\", \"2W\"]', [180, 'M', 'T', '0E', '2W'], [180.0, '2.0W'])], [('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [1, \"T\", \"C\", \"2E\", \"3E\"]', [1, 'T', 'C', '2E', '3E'], [356.0, '5.0E']), ('compass variation and deviation [180, \"M\", \"T\", \"0E\", \"2W\"]', [180, 'M', 'T', '0E', '2W'], [180.0, '2.0W']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E'])], [('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W'])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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":"dc2da9b08b9f4573033fc664a1fa62fda0e70a02d327010a4e4c4b5493b2be2b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    val,frm,to,var,dev=x\n    def sg(s):\n        v=float(s[:-1])\n        return v if s[-1]=='E' else -v\n    lvl={'C':0,'M':1,'T':2}\n    corr=[sg(dev),sg(var)]\n    a,b=lvl[frm],lvl[to]\n    if b>a: val+=sum(corr[a:b])\n    else: val-=sum(corr[b:a])\n    e=sum(corr)\n    err='%.1f%s'%(abs(e),'E' if e>0 else 'W')\n    return [round(val%360,1),err]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W'])], [('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W']), ('compass variation and deviation [200, \"C\", \"M\", \"0.5E\", \"1.5W\"]', [200, 'C', 'M', '0.5E', '1.5W'], [198.5, '1.0W']), ('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0'])], [('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [200, \"C\", \"M\", \"0.5E\", \"1.5W\"]', [200, 'C', 'M', '0.5E', '1.5W'], [198.5, '1.0W']), ('compass variation and deviation [270.5, \"C\", \"T\", \"12.5E\", \"3.5E\"]', [270.5, 'C', 'T', '12.5E', '3.5E'], [286.5, '16.0E']), ('compass variation and deviation [1, \"T\", \"C\", \"2E\", \"3E\"]', [1, 'T', 'C', '2E', '3E'], [356.0, '5.0E']), ('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [180, \"M\", \"T\", \"0E\", \"2W\"]', [180, 'M', 'T', '0E', '2W'], [180.0, '2.0W'])], [('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [1, \"T\", \"C\", \"2E\", \"3E\"]', [1, 'T', 'C', '2E', '3E'], [356.0, '5.0E']), ('compass variation and deviation [180, \"M\", \"T\", \"0E\", \"2W\"]', [180, 'M', 'T', '0E', '2W'], [180.0, '2.0W']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E'])], [('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W'])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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"},"fixed":{"sha256":"31eb846899bfce58a46ce2d155c8eafe5f05952504c8c0d8567785db317fa764","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    val,frm,to,var,dev=x\n    def sg(s):\n        v=float(s[:-1])\n        return v if s[-1]=='E' else -v\n    lvl={'C':0,'M':1,'T':2}\n    corr=[sg(dev),sg(var)]\n    a,b=lvl[frm],lvl[to]\n    if b>a: val+=sum(corr[a:b])\n    else: val-=sum(corr[b:a])\n    e=sum(corr)\n    err='0' if e==0 else '%.1f%s'%(abs(e),'E' if e>0 else 'W')\n    return [round(val%360,1),err]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W'])], [('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W']), ('compass variation and deviation [200, \"C\", \"M\", \"0.5E\", \"1.5W\"]', [200, 'C', 'M', '0.5E', '1.5W'], [198.5, '1.0W']), ('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0'])], [('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [200, \"C\", \"M\", \"0.5E\", \"1.5W\"]', [200, 'C', 'M', '0.5E', '1.5W'], [198.5, '1.0W']), ('compass variation and deviation [270.5, \"C\", \"T\", \"12.5E\", \"3.5E\"]', [270.5, 'C', 'T', '12.5E', '3.5E'], [286.5, '16.0E']), ('compass variation and deviation [1, \"T\", \"C\", \"2E\", \"3E\"]', [1, 'T', 'C', '2E', '3E'], [356.0, '5.0E']), ('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [180, \"M\", \"T\", \"0E\", \"2W\"]', [180, 'M', 'T', '0E', '2W'], [180.0, '2.0W'])], [('compass variation and deviation [45, \"C\", \"T\", \"3E\", \"3W\"]', [45, 'C', 'T', '3E', '3W'], [45.0, '0']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W']), ('compass variation and deviation [1, \"T\", \"C\", \"2E\", \"3E\"]', [1, 'T', 'C', '2E', '3E'], [356.0, '5.0E']), ('compass variation and deviation [180, \"M\", \"T\", \"0E\", \"2W\"]', [180, 'M', 'T', '0E', '2W'], [180.0, '2.0W']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E'])], [('compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]', [90, 'T', 'T', '3E', '3W'], [90, '0']), ('compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]', [200, 'M', 'C', '0.5E', '1.5W'], [201.5, '1.0W']), ('compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]', [100, 'C', 'T', '4W', '2E'], [98.0, '2.0W']), ('compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]', [100, 'T', 'C', '4W', '2E'], [102.0, '2.0W']), ('compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]', [355, 'C', 'M', '3W', '6E'], [1.0, '3.0E']), ('compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]', [5, 'T', 'M', '7W', '1W'], [12.0, '8.0W']), ('compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]', [5, 'M', 'T', '7W', '1W'], [358.0, '8.0W'])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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":"A deterministic toy model with stipulated rules and constants; not certified hydrographic software or a substitute for official tide tables. 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":"w2-tide_and_marine_navigation_tables-compass_conversion-zero-error-text","generated_at":"2026-09-29T14:48:10.005538+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tide tables and passage plans turn published predictions into go/no-go decisions about depth, clearance and timing.","repair":"Print \"0\" when the total error is zero.","root_cause":"The zero case is not special-cased before choosing E/W.","sha256":"630c7c73edeb9b80a83085b452756060ef80b70be5a6c922df13d0802d4981b1","title":"Compass variation and deviation: Zero compass error is printed as a westerly error · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.596,"exit_code":1,"observations":[{"actual":[90,"0"],"check":"compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]","expected":[90,"0"],"passed":true},{"actual":[98.0,"-2.0W"],"check":"compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]","expected":[98.0,"2.0W"],"passed":false},{"actual":[102.0,"-2.0W"],"check":"compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]","expected":[102.0,"2.0W"],"passed":false},{"actual":[1.0,"3.0E"],"check":"compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]","expected":[1.0,"3.0E"],"passed":true},{"actual":[12.0,"-8.0W"],"check":"compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]","expected":[12.0,"8.0W"],"passed":false},{"actual":[358.0,"-8.0W"],"check":"compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]","expected":[358.0,"8.0W"],"passed":false},{"actual":[201.5,"-1.0W"],"check":"compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]","expected":[201.5,"1.0W"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"compass variation and deviation [90, \\\"T\\\", \\\"T\\\", \\\"3E\\\", \\\"3W\\\"]\", \"actual\": [90, \"0\"], \"expected\": [90, \"0\"], \"passed\": true}, {\"check\": \"compass variation and deviation [100, \\\"C\\\", \\\"T\\\", \\\"4W\\\", \\\"2E\\\"]\", \"actual\": [98.0, \"-2.0W\"], \"expected\": [98.0, \"2.0W\"], \"passed\": false}, {\"check\": \"compass variation and deviation [100, \\\"T\\\", \\\"C\\\", \\\"4W\\\", \\\"2E\\\"]\", \"actual\": [102.0, \"-2.0W\"], \"expected\": [102.0, \"2.0W\"], \"passed\": false}, {\"check\": \"compass variation and deviation [355, \\\"C\\\", \\\"M\\\", \\\"3W\\\", \\\"6E\\\"]\", \"actual\": [1.0, \"3.0E\"], \"expected\": [1.0, \"3.0E\"], \"passed\": true}, {\"check\": \"compass variation and deviation [5, \\\"T\\\", \\\"M\\\", \\\"7W\\\", \\\"1W\\\"]\", \"actual\": [12.0, \"-8.0W\"], \"expected\": [12.0, \"8.0W\"], \"passed\": false}, {\"check\": \"compass variation and deviation [5, \\\"M\\\", \\\"T\\\", \\\"7W\\\", \\\"1W\\\"]\", \"actual\": [358.0, \"-8.0W\"], \"expected\": [358.0, \"8.0W\"], \"passed\": false}, {\"check\": \"compass variation and deviation [200, \\\"M\\\", \\\"C\\\", \\\"0.5E\\\", \\\"1.5W\\\"]\", \"actual\": [201.5, \"-1.0W\"], \"expected\": [201.5, \"1.0W\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.282,"exit_code":1,"observations":[{"actual":[90,"0.0W"],"check":"compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]","expected":[90,"0"],"passed":false},{"actual":[98.0,"2.0W"],"check":"compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]","expected":[98.0,"2.0W"],"passed":true},{"actual":[102.0,"2.0W"],"check":"compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]","expected":[102.0,"2.0W"],"passed":true},{"actual":[1.0,"3.0E"],"check":"compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]","expected":[1.0,"3.0E"],"passed":true},{"actual":[12.0,"8.0W"],"check":"compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]","expected":[12.0,"8.0W"],"passed":true},{"actual":[358.0,"8.0W"],"check":"compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]","expected":[358.0,"8.0W"],"passed":true},{"actual":[201.5,"1.0W"],"check":"compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]","expected":[201.5,"1.0W"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"compass variation and deviation [90, \\\"T\\\", \\\"T\\\", \\\"3E\\\", \\\"3W\\\"]\", \"actual\": [90, \"0.0W\"], \"expected\": [90, \"0\"], \"passed\": false}, {\"check\": \"compass variation and deviation [100, \\\"C\\\", \\\"T\\\", \\\"4W\\\", \\\"2E\\\"]\", \"actual\": [98.0, \"2.0W\"], \"expected\": [98.0, \"2.0W\"], \"passed\": true}, {\"check\": \"compass variation and deviation [100, \\\"T\\\", \\\"C\\\", \\\"4W\\\", \\\"2E\\\"]\", \"actual\": [102.0, \"2.0W\"], \"expected\": [102.0, \"2.0W\"], \"passed\": true}, {\"check\": \"compass variation and deviation [355, \\\"C\\\", \\\"M\\\", \\\"3W\\\", \\\"6E\\\"]\", \"actual\": [1.0, \"3.0E\"], \"expected\": [1.0, \"3.0E\"], \"passed\": true}, {\"check\": \"compass variation and deviation [5, \\\"T\\\", \\\"M\\\", \\\"7W\\\", \\\"1W\\\"]\", \"actual\": [12.0, \"8.0W\"], \"expected\": [12.0, \"8.0W\"], \"passed\": true}, {\"check\": \"compass variation and deviation [5, \\\"M\\\", \\\"T\\\", \\\"7W\\\", \\\"1W\\\"]\", \"actual\": [358.0, \"8.0W\"], \"expected\": [358.0, \"8.0W\"], \"passed\": true}, {\"check\": \"compass variation and deviation [200, \\\"M\\\", \\\"C\\\", \\\"0.5E\\\", \\\"1.5W\\\"]\", \"actual\": [201.5, \"1.0W\"], \"expected\": [201.5, \"1.0W\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.058,"exit_code":0,"observations":[{"actual":[90,"0"],"check":"compass variation and deviation [90, \"T\", \"T\", \"3E\", \"3W\"]","expected":[90,"0"],"passed":true},{"actual":[98.0,"2.0W"],"check":"compass variation and deviation [100, \"C\", \"T\", \"4W\", \"2E\"]","expected":[98.0,"2.0W"],"passed":true},{"actual":[102.0,"2.0W"],"check":"compass variation and deviation [100, \"T\", \"C\", \"4W\", \"2E\"]","expected":[102.0,"2.0W"],"passed":true},{"actual":[1.0,"3.0E"],"check":"compass variation and deviation [355, \"C\", \"M\", \"3W\", \"6E\"]","expected":[1.0,"3.0E"],"passed":true},{"actual":[12.0,"8.0W"],"check":"compass variation and deviation [5, \"T\", \"M\", \"7W\", \"1W\"]","expected":[12.0,"8.0W"],"passed":true},{"actual":[358.0,"8.0W"],"check":"compass variation and deviation [5, \"M\", \"T\", \"7W\", \"1W\"]","expected":[358.0,"8.0W"],"passed":true},{"actual":[201.5,"1.0W"],"check":"compass variation and deviation [200, \"M\", \"C\", \"0.5E\", \"1.5W\"]","expected":[201.5,"1.0W"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"compass variation and deviation [90, \\\"T\\\", \\\"T\\\", \\\"3E\\\", \\\"3W\\\"]\", \"actual\": [90, \"0\"], \"expected\": [90, \"0\"], \"passed\": true}, {\"check\": \"compass variation and deviation [100, \\\"C\\\", \\\"T\\\", \\\"4W\\\", \\\"2E\\\"]\", \"actual\": [98.0, \"2.0W\"], \"expected\": [98.0, \"2.0W\"], \"passed\": true}, {\"check\": \"compass variation and deviation [100, \\\"T\\\", \\\"C\\\", \\\"4W\\\", \\\"2E\\\"]\", \"actual\": [102.0, \"2.0W\"], \"expected\": [102.0, \"2.0W\"], \"passed\": true}, {\"check\": \"compass variation and deviation [355, \\\"C\\\", \\\"M\\\", \\\"3W\\\", \\\"6E\\\"]\", \"actual\": [1.0, \"3.0E\"], \"expected\": [1.0, \"3.0E\"], \"passed\": true}, {\"check\": \"compass variation and deviation [5, \\\"T\\\", \\\"M\\\", \\\"7W\\\", \\\"1W\\\"]\", \"actual\": [12.0, \"8.0W\"], \"expected\": [12.0, \"8.0W\"], \"passed\": true}, {\"check\": \"compass variation and deviation [5, \\\"M\\\", \\\"T\\\", \\\"7W\\\", \\\"1W\\\"]\", \"actual\": [358.0, \"8.0W\"], \"expected\": [358.0, \"8.0W\"], \"passed\": true}, {\"check\": \"compass variation and deviation [200, \\\"M\\\", \\\"C\\\", \\\"0.5E\\\", \\\"1.5W\\\"]\", \"actual\": [201.5, \"1.0W\"], \"expected\": [201.5, \"1.0W\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}