We need to look at the X,Y and Z info at the vertices. I have seen where the editor treats items as snapped, but they are not snapped in the utility network. Editor tolerances are not the same as connectivity tolerances in the network. When reviewing the values, you need to click in like you are editing the values of the vertices, as the UI rounds off for viewing.
If you select the main and the fitting and run this script, you can see the vertices info. Can you post the results? Note: It may take a while due to an issue with subtype layers and DA cursors. Make sure to have something selected or you will get the vertices for your entire layer.
fields = ['SHAPE@X', 'SHAPE@Y', 'SHAPE@Z']
print("***********Main***********")
fc = "Water Line\\Water Main"
with arcpy.da.SearchCursor(fc, fields, explode_to_points=True) as cursor:
for row in cursor:
print(row)
print("***********Fitting***********")
fc = "Water Junction\\Fitting"
with arcpy.da.SearchCursor(fc, fields, explode_to_points=True) as cursor:
for row in cursor:
print(row)
Here is an example output, I bolded the vertex that fitting and main share.
***********Main***********
(1030655.1770261787, 1861107.9398856163, 0.00010000000474974513)
(1030652.9670568444, 1861106.5150197, 0.00010000000474974513)
(1030649.2898988463, 1861104.1439614445, 0.00010000000474974513)
(1030588.8188911788, 1861065.1581470296, 0.00010000000474974513)
(1030579.5249465108, 1861059.1660330296, 0.00010000000474974513)
(1030525.9440169297, 1861024.6211546138, 0.00010000000474974513)
(1030513.5339367613, 1861016.6208425313, 0.00010000000474974513)
(1030496.82990193, 1861005.852163285, 0.00010000000474974513)
(1030404.9609911777, 1860950.2259621993, 0.00010000000474974513)
***********Fitting***********
(1030513.5339367613, 1861016.6208425313, 0.00010000000474974513)