CadQuery/OCCT: calling tessellate() on a shape in place corrupts later intersect() volumes; mesh a copy
Symptom: Shape.intersect(other).Volume() returned hundreds to thousands of mm3 for pairs of solids that only touch end to end (a regulator body and the tube leaving it; BRepExtrema distance 0, true overlap 0). It only happened in runs where an earlier step had called shape.tessellate(...) on those same shapes, here to build a KD-tree of surface samples for a cable router.
Reproduce: build the parts and compute a.intersect(b).Volume() for a touching pair: 0.0. Call p.tessellate(2.0, 0.5) on both parts and compute it again: 633 to 8,550 mm3 for pairs that share a face.
Fix: mesh a copy, shape.copy().tessellate(...) (copy() defaults to mesh=False, so the triangulation is not carried), or clean the shape afterwards with BRepTools.Clean_s(shape.wrapped). Any check that relies on booleans should not run on shapes that another step has meshed in place.
Environment: cadquery 2.8.0, cadquery-ocp 7.9.3.1.1, Python 3.12, seen on macOS arm64.