{"abstract":"Decoded coordinates are offset by the translate times the scale.","category":"GIS polygon topology","checks":8,"contract":"Input [arcs, transform, ring]. Each arc is a list of quantized delta positions (the first is absolute, later ones add to the running position within that arc). transform [sx, sy, tx, ty] maps q to q*s + t per axis; a null transform is the identity [1, 1, 0, 0]. A ring lists arc indexes; a negative index i means arc ~i (bitwise complement) traversed backwards. Arcs after the first contribute all but their first position, which duplicates the previous arc end. Return the stitched list of [x, y].","contract_signature":"x","evaluation_group":"w2-gis-polygon-topology-topojson-arc-rings","failed_approach":"The y translate uses the x translate value.","family":"w2-gis-polygon-topology-topojson-arc-rings-transform-order","id":"FA-70481","implementations":{"attempt":{"sha256":"7bf5e0fbd8d0b71c271a74253b2097702304a52582dcf1d83496c5dc93de16a6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    arcs, transform, ring = x\n    sx, sy, tx, ty = transform or [1, 1, 0, 0]\n    def decode(i):\n        pts = []\n        qx = qy = 0\n        for dx, dy in arcs[i]:\n            qx += dx\n            qy += dy\n            pts.append([qx * sx + tx, qy * sy + tx])\n        return pts\n    out = []\n    for ref in ring:\n        idx = ~ref if ref < 0 else ref\n        pts = decode(idx)\n        if ref < 0:\n            pts = pts[::-1]\n        if out:\n            pts = pts[1:]\n        out.extend(pts)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #1', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #2', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-2, -1]], [[100.0, 200.0], [100.0, 202.5], [105.0, 202.5], [105.0, 200.0], [100.0, 200.0]]), ('control #3', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [2, 3, -1]], [[105.0, 202.5], [107.5, 202.5], [107.5, 200.0], [105.0, 200.0], [105.0, 200.0], [100.0, 200.0]]), ('control #4', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, -3, -4]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [107.5, 202.5], [105.0, 202.5], [107.5, 200.0]]), ('control #7', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [0, 1]], [[0, 0], [10, 0], [10, 10], [0, 10], [0, 0]]), ('control #8', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [-2, -1]], [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]), ('control #9', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [2, 3, -1]], [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]])], [('control #1', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #2', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-2, -1]], [[100.0, 200.0], [100.0, 202.5], [105.0, 202.5], [105.0, 200.0], [100.0, 200.0]]), ('control #5', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [4, -2]], [[100.0, 202.5], [100.0, 203.75], [105.0, 203.75], [105.0, 202.5], [100.0, 202.5], [105.0, 202.5]]), ('control #6', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [1, 4]], [[105.0, 202.5], [100.0, 202.5], [100.0, 200.0], [100.0, 203.75], [105.0, 203.75], [105.0, 202.5]]), ('control #7', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [0, 1]], [[0, 0], [10, 0], [10, 10], [0, 10], [0, 0]]), ('control #8', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [-2, -1]], [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]), ('control #9', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [2, 3, -1]], [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]]), ('control #10', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [1, 4]], [[10, 10], [0, 10], [0, 0], [0, 15], [10, 15], [10, 10]])], [('control #2', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-2, -1]], [[100.0, 200.0], [100.0, 202.5], [105.0, 202.5], [105.0, 200.0], [100.0, 200.0]]), ('control #3', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [2, 3, -1]], [[105.0, 202.5], [107.5, 202.5], [107.5, 200.0], [105.0, 200.0], [105.0, 200.0], [100.0, 200.0]]), ('control #8', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [-2, -1]], [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]), ('control #9', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [2, 3, -1]], [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]]), ('control #10', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [1, 4]], [[10, 10], [0, 10], [0, 0], [0, 15], [10, 15], [10, 10]]), ('regression #11', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [2.0, 3.0, -5.0, 7.0], [0, -3, -4]], [[-5.0, 7.0], [15.0, 7.0], [15.0, 37.0], [25.0, 37.0], [15.0, 37.0], [25.0, 7.0]]), ('boundary #12', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5]]), ('boundary #13', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-1]], [[105.0, 202.5], [105.0, 200.0], [100.0, 200.0]])], [('control #3', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [2, 3, -1]], [[105.0, 202.5], [107.5, 202.5], [107.5, 200.0], [105.0, 200.0], [105.0, 200.0], [100.0, 200.0]]), ('control #4', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, -3, -4]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [107.5, 202.5], [105.0, 202.5], [107.5, 200.0]]), ('regression #11', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [2.0, 3.0, -5.0, 7.0], [0, -3, -4]], [[-5.0, 7.0], [15.0, 7.0], [15.0, 37.0], [25.0, 37.0], [15.0, 37.0], [25.0, 7.0]]), ('boundary #12', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5]]), ('boundary #13', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-1]], [[105.0, 202.5], [105.0, 200.0], [100.0, 200.0]]), ('regression #14', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [1.0, 1.0, 0.0, 0.0], [-5, 0]], [[10.0, 10.0], [10.0, 15.0], [0.0, 15.0], [0.0, 10.0], [10.0, 0.0], [10.0, 10.0]]), ('regression #16', [[[[3, 4], [2, 0], [0, 2], [-2, -2]]], [1.0, 2.0, 0.0, 0.0], [0]], [[3.0, 8.0], [5.0, 8.0], [5.0, 12.0], [3.0, 8.0]]), ('regression #17', [[[[3, 4], [2, 0], [0, 2], [-2, -2]]], [1.0, 2.0, 0.0, 0.0], [-1]], [[3.0, 8.0], [5.0, 12.0], [5.0, 8.0], [3.0, 8.0]])], [('control #0', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #1', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #4', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, -3, -4]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [107.5, 202.5], [105.0, 202.5], [107.5, 200.0]]), ('control #5', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [4, -2]], [[100.0, 202.5], [100.0, 203.75], [105.0, 203.75], [105.0, 202.5], [100.0, 202.5], [105.0, 202.5]]), ('regression #14', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [1.0, 1.0, 0.0, 0.0], [-5, 0]], [[10.0, 10.0], [10.0, 15.0], [0.0, 15.0], [0.0, 10.0], [10.0, 0.0], [10.0, 10.0]]), ('control #15', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.1, 0.1, -1.0, 2.0], [3, -3, 1]], [[0.5, 2.0], [0.0, 2.0], [0.5, 3.0], [0.0, 3.0], [-1.0, 3.0], [-1.0, 2.0]]), ('regression #16', [[[[3, 4], [2, 0], [0, 2], [-2, -2]]], [1.0, 2.0, 0.0, 0.0], [0]], [[3.0, 8.0], [5.0, 8.0], [5.0, 12.0], [3.0, 8.0]]), ('regression #17', [[[[3, 4], [2, 0], [0, 2], [-2, -2]]], [1.0, 2.0, 0.0, 0.0], [-1]], [[3.0, 8.0], [5.0, 12.0], [5.0, 8.0], [3.0, 8.0]])]]\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":"f39ce8ae5888458174fb8267400461b2ce8676c9710ffb90a213a82a0d3082cf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    arcs, transform, ring = x\n    sx, sy, tx, ty = transform or [1, 1, 0, 0]\n    def decode(i):\n        pts = []\n        qx = qy = 0\n        for dx, dy in arcs[i]:\n            qx += dx\n            qy += dy\n            pts.append([(qx + tx) * sx, (qy + ty) * sy])\n        return pts\n    out = []\n    for ref in ring:\n        idx = ~ref if ref < 0 else ref\n        pts = decode(idx)\n        if ref < 0:\n            pts = pts[::-1]\n        if out:\n            pts = pts[1:]\n        out.extend(pts)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control #0', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #1', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #2', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-2, -1]], [[100.0, 200.0], [100.0, 202.5], [105.0, 202.5], [105.0, 200.0], [100.0, 200.0]]), ('control #3', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [2, 3, -1]], [[105.0, 202.5], [107.5, 202.5], [107.5, 200.0], [105.0, 200.0], [105.0, 200.0], [100.0, 200.0]]), ('control #4', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, -3, -4]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [107.5, 202.5], [105.0, 202.5], [107.5, 200.0]]), ('control #7', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [0, 1]], [[0, 0], [10, 0], [10, 10], [0, 10], [0, 0]]), ('control #8', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [-2, -1]], [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]), ('control #9', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [2, 3, -1]], [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]])], [('control #1', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #2', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-2, -1]], [[100.0, 200.0], [100.0, 202.5], [105.0, 202.5], [105.0, 200.0], [100.0, 200.0]]), ('control #5', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [4, -2]], [[100.0, 202.5], [100.0, 203.75], [105.0, 203.75], [105.0, 202.5], [100.0, 202.5], [105.0, 202.5]]), ('control #6', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [1, 4]], [[105.0, 202.5], [100.0, 202.5], [100.0, 200.0], [100.0, 203.75], [105.0, 203.75], [105.0, 202.5]]), ('control #7', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [0, 1]], [[0, 0], [10, 0], [10, 10], [0, 10], [0, 0]]), ('control #8', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [-2, -1]], [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]), ('control #9', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [2, 3, -1]], [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]]), ('control #10', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [1, 4]], [[10, 10], [0, 10], [0, 0], [0, 15], [10, 15], [10, 10]])], [('control #2', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-2, -1]], [[100.0, 200.0], [100.0, 202.5], [105.0, 202.5], [105.0, 200.0], [100.0, 200.0]]), ('control #3', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [2, 3, -1]], [[105.0, 202.5], [107.5, 202.5], [107.5, 200.0], [105.0, 200.0], [105.0, 200.0], [100.0, 200.0]]), ('control #8', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [-2, -1]], [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]), ('control #9', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [2, 3, -1]], [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]]), ('control #10', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], None, [1, 4]], [[10, 10], [0, 10], [0, 0], [0, 15], [10, 15], [10, 10]]), ('regression #11', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [2.0, 3.0, -5.0, 7.0], [0, -3, -4]], [[-5.0, 7.0], [15.0, 7.0], [15.0, 37.0], [25.0, 37.0], [15.0, 37.0], [25.0, 7.0]]), ('boundary #12', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5]]), ('boundary #13', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-1]], [[105.0, 202.5], [105.0, 200.0], [100.0, 200.0]])], [('control #3', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [2, 3, -1]], [[105.0, 202.5], [107.5, 202.5], [107.5, 200.0], [105.0, 200.0], [105.0, 200.0], [100.0, 200.0]]), ('control #4', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, -3, -4]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [107.5, 202.5], [105.0, 202.5], [107.5, 200.0]]), ('regression #11', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [2.0, 3.0, -5.0, 7.0], [0, -3, -4]], [[-5.0, 7.0], [15.0, 7.0], [15.0, 37.0], [25.0, 37.0], [15.0, 37.0], [25.0, 7.0]]), ('boundary #12', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5]]), ('boundary #13', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [-1]], [[105.0, 202.5], [105.0, 200.0], [100.0, 200.0]]), ('regression #14', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [1.0, 1.0, 0.0, 0.0], [-5, 0]], [[10.0, 10.0], [10.0, 15.0], [0.0, 15.0], [0.0, 10.0], [10.0, 0.0], [10.0, 10.0]]), ('regression #16', [[[[3, 4], [2, 0], [0, 2], [-2, -2]]], [1.0, 2.0, 0.0, 0.0], [0]], [[3.0, 8.0], [5.0, 8.0], [5.0, 12.0], [3.0, 8.0]]), ('regression #17', [[[[3, 4], [2, 0], [0, 2], [-2, -2]]], [1.0, 2.0, 0.0, 0.0], [-1]], [[3.0, 8.0], [5.0, 12.0], [5.0, 8.0], [3.0, 8.0]])], [('control #0', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #1', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, 1]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]]), ('control #4', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [0, -3, -4]], [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [107.5, 202.5], [105.0, 202.5], [107.5, 200.0]]), ('control #5', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.5, 0.25, 100.0, 200.0], [4, -2]], [[100.0, 202.5], [100.0, 203.75], [105.0, 203.75], [105.0, 202.5], [100.0, 202.5], [105.0, 202.5]]), ('regression #14', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [1.0, 1.0, 0.0, 0.0], [-5, 0]], [[10.0, 10.0], [10.0, 15.0], [0.0, 15.0], [0.0, 10.0], [10.0, 0.0], [10.0, 10.0]]), ('control #15', [[[[0, 0], [10, 0], [0, 10]], [[10, 10], [-10, 0], [0, -10]], [[10, 10], [5, 0], [0, -10]], [[15, 0], [-5, 0]], [[0, 10], [0, 5], [10, 0], [0, -5]]], [0.1, 0.1, -1.0, 2.0], [3, -3, 1]], [[0.5, 2.0], [0.0, 2.0], [0.5, 3.0], [0.0, 3.0], [-1.0, 3.0], [-1.0, 2.0]]), ('regression #16', [[[[3, 4], [2, 0], [0, 2], [-2, -2]]], [1.0, 2.0, 0.0, 0.0], [0]], [[3.0, 8.0], [5.0, 8.0], [5.0, 12.0], [3.0, 8.0]]), ('regression #17', [[[[3, 4], [2, 0], [0, 2], [-2, -2]]], [1.0, 2.0, 0.0, 0.0], [-1]], [[3.0, 8.0], [5.0, 12.0], [5.0, 8.0], [3.0, 8.0]])]]\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":"Stipulated deterministic toy contract on a bounded input domain; results are rounded as stated and no conformance with any published standard or library is claimed. 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-gis-polygon-topology-topojson-arc-rings-transform-order","generated_at":"2026-09-29T14:48:21.120760+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Shared-boundary topology formats store each border once; decoding errors break rings, reverse borders or duplicate junction vertices.","root_cause":"The translate is applied before the scale.","sha256":"b0d4acb95cbfa7450243a0fc65f75a2c31fd841a64b2659abdb531f38dbba142","title":"TopoJSON arc stitching into rings: transform order · 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":40.154,"exit_code":1,"observations":[{"actual":[[100.0,100.0],[105.0,100.0],[105.0,102.5],[100.0,102.5],[100.0,100.0]],"check":"control #0","expected":[[100.0,200.0],[105.0,200.0],[105.0,202.5],[100.0,202.5],[100.0,200.0]],"passed":false},{"actual":[[100.0,100.0],[105.0,100.0],[105.0,102.5],[100.0,102.5],[100.0,100.0]],"check":"control #1","expected":[[100.0,200.0],[105.0,200.0],[105.0,202.5],[100.0,202.5],[100.0,200.0]],"passed":false},{"actual":[[100.0,100.0],[100.0,102.5],[105.0,102.5],[105.0,100.0],[100.0,100.0]],"check":"control #2","expected":[[100.0,200.0],[100.0,202.5],[105.0,202.5],[105.0,200.0],[100.0,200.0]],"passed":false},{"actual":[[105.0,102.5],[107.5,102.5],[107.5,100.0],[105.0,100.0],[105.0,100.0],[100.0,100.0]],"check":"control #3","expected":[[105.0,202.5],[107.5,202.5],[107.5,200.0],[105.0,200.0],[105.0,200.0],[100.0,200.0]],"passed":false},{"actual":[[100.0,100.0],[105.0,100.0],[105.0,102.5],[107.5,102.5],[105.0,102.5],[107.5,100.0]],"check":"control #4","expected":[[100.0,200.0],[105.0,200.0],[105.0,202.5],[107.5,202.5],[105.0,202.5],[107.5,200.0]],"passed":false},{"actual":[[0,0],[10,0],[10,10],[0,10],[0,0]],"check":"control #7","expected":[[0,0],[10,0],[10,10],[0,10],[0,0]],"passed":true},{"actual":[[0,0],[0,10],[10,10],[10,0],[0,0]],"check":"control #8","expected":[[0,0],[0,10],[10,10],[10,0],[0,0]],"passed":true},{"actual":[[10,10],[15,10],[15,0],[10,0],[10,0],[0,0]],"check":"control #9","expected":[[10,10],[15,10],[15,0],[10,0],[10,0],[0,0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [[100.0, 100.0], [105.0, 100.0], [105.0, 102.5], [100.0, 102.5], [100.0, 100.0]], \"expected\": [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]], \"passed\": false}, {\"check\": \"control #1\", \"actual\": [[100.0, 100.0], [105.0, 100.0], [105.0, 102.5], [100.0, 102.5], [100.0, 100.0]], \"expected\": [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [[100.0, 100.0], [100.0, 102.5], [105.0, 102.5], [105.0, 100.0], [100.0, 100.0]], \"expected\": [[100.0, 200.0], [100.0, 202.5], [105.0, 202.5], [105.0, 200.0], [100.0, 200.0]], \"passed\": false}, {\"check\": \"control #3\", \"actual\": [[105.0, 102.5], [107.5, 102.5], [107.5, 100.0], [105.0, 100.0], [105.0, 100.0], [100.0, 100.0]], \"expected\": [[105.0, 202.5], [107.5, 202.5], [107.5, 200.0], [105.0, 200.0], [105.0, 200.0], [100.0, 200.0]], \"passed\": false}, {\"check\": \"control #4\", \"actual\": [[100.0, 100.0], [105.0, 100.0], [105.0, 102.5], [107.5, 102.5], [105.0, 102.5], [107.5, 100.0]], \"expected\": [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [107.5, 202.5], [105.0, 202.5], [107.5, 200.0]], \"passed\": false}, {\"check\": \"control #7\", \"actual\": [[0, 0], [10, 0], [10, 10], [0, 10], [0, 0]], \"expected\": [[0, 0], [10, 0], [10, 10], [0, 10], [0, 0]], \"passed\": true}, {\"check\": \"control #8\", \"actual\": [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]], \"expected\": [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]], \"passed\": true}, {\"check\": \"control #9\", \"actual\": [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]], \"expected\": [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.88,"exit_code":1,"observations":[{"actual":[[50.0,50.0],[55.0,50.0],[55.0,52.5],[50.0,52.5],[50.0,50.0]],"check":"control #0","expected":[[100.0,200.0],[105.0,200.0],[105.0,202.5],[100.0,202.5],[100.0,200.0]],"passed":false},{"actual":[[50.0,50.0],[55.0,50.0],[55.0,52.5],[50.0,52.5],[50.0,50.0]],"check":"control #1","expected":[[100.0,200.0],[105.0,200.0],[105.0,202.5],[100.0,202.5],[100.0,200.0]],"passed":false},{"actual":[[50.0,50.0],[50.0,52.5],[55.0,52.5],[55.0,50.0],[50.0,50.0]],"check":"control #2","expected":[[100.0,200.0],[100.0,202.5],[105.0,202.5],[105.0,200.0],[100.0,200.0]],"passed":false},{"actual":[[55.0,52.5],[57.5,52.5],[57.5,50.0],[55.0,50.0],[55.0,50.0],[50.0,50.0]],"check":"control #3","expected":[[105.0,202.5],[107.5,202.5],[107.5,200.0],[105.0,200.0],[105.0,200.0],[100.0,200.0]],"passed":false},{"actual":[[50.0,50.0],[55.0,50.0],[55.0,52.5],[57.5,52.5],[55.0,52.5],[57.5,50.0]],"check":"control #4","expected":[[100.0,200.0],[105.0,200.0],[105.0,202.5],[107.5,202.5],[105.0,202.5],[107.5,200.0]],"passed":false},{"actual":[[0,0],[10,0],[10,10],[0,10],[0,0]],"check":"control #7","expected":[[0,0],[10,0],[10,10],[0,10],[0,0]],"passed":true},{"actual":[[0,0],[0,10],[10,10],[10,0],[0,0]],"check":"control #8","expected":[[0,0],[0,10],[10,10],[10,0],[0,0]],"passed":true},{"actual":[[10,10],[15,10],[15,0],[10,0],[10,0],[0,0]],"check":"control #9","expected":[[10,10],[15,10],[15,0],[10,0],[10,0],[0,0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control #0\", \"actual\": [[50.0, 50.0], [55.0, 50.0], [55.0, 52.5], [50.0, 52.5], [50.0, 50.0]], \"expected\": [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]], \"passed\": false}, {\"check\": \"control #1\", \"actual\": [[50.0, 50.0], [55.0, 50.0], [55.0, 52.5], [50.0, 52.5], [50.0, 50.0]], \"expected\": [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [100.0, 202.5], [100.0, 200.0]], \"passed\": false}, {\"check\": \"control #2\", \"actual\": [[50.0, 50.0], [50.0, 52.5], [55.0, 52.5], [55.0, 50.0], [50.0, 50.0]], \"expected\": [[100.0, 200.0], [100.0, 202.5], [105.0, 202.5], [105.0, 200.0], [100.0, 200.0]], \"passed\": false}, {\"check\": \"control #3\", \"actual\": [[55.0, 52.5], [57.5, 52.5], [57.5, 50.0], [55.0, 50.0], [55.0, 50.0], [50.0, 50.0]], \"expected\": [[105.0, 202.5], [107.5, 202.5], [107.5, 200.0], [105.0, 200.0], [105.0, 200.0], [100.0, 200.0]], \"passed\": false}, {\"check\": \"control #4\", \"actual\": [[50.0, 50.0], [55.0, 50.0], [55.0, 52.5], [57.5, 52.5], [55.0, 52.5], [57.5, 50.0]], \"expected\": [[100.0, 200.0], [105.0, 200.0], [105.0, 202.5], [107.5, 202.5], [105.0, 202.5], [107.5, 200.0]], \"passed\": false}, {\"check\": \"control #7\", \"actual\": [[0, 0], [10, 0], [10, 10], [0, 10], [0, 0]], \"expected\": [[0, 0], [10, 0], [10, 10], [0, 10], [0, 0]], \"passed\": true}, {\"check\": \"control #8\", \"actual\": [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]], \"expected\": [[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]], \"passed\": true}, {\"check\": \"control #9\", \"actual\": [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]], \"expected\": [[10, 10], [15, 10], [15, 0], [10, 0], [10, 0], [0, 0]], \"passed\": true}], \"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."}}