exposureId in visitInfo is not a visit-exposure level identifier, but rather a ccd-exposure level identifier (see docstring for obs.base.CameraMapper._computeCcdExposureId() for the only place where this seems to be specified). Thus, it should not be included in visitInfo, which is only things that are common across the visit. exposureId should be moved back into ExposureInfo.
We do need a visit-exposure level identifier to be included in visitInfo, so that we can link exposures within visits without using the butler (e.g. without dataRef.dataId['visit']). We could have makeRawVisitInfo() add the butler visitId to the new visitInfo.visitId that this ticket will add.
Marking this Critical because we should fix this ASAP, before use of visitInfo.exposureId becomes widespread. This is an API-breaking change, so it may need an RFC?
See this discussion that generated this ticket: