At line 101 of mapper.py:
.level is only set if a policy contains a level, but _StandardizeExposure assumes that this _will _exists, and things then fall over if it doesn't.
mfisherlevine – Can you please be more explicit about exactly where this problem is? Line 101 of daf_persistence's mapper.py is a comment which doesn't seem relevant to your description above.
I'm not sure if this is still a problem, but it might well be, and if so, this should point at L945 and L947 in _standardizeExposure() in cameraMapper.py in obs_base.
It is possible that an lsst.obs.base.Mapping will always contain a level, but that wasn't true when this was filed.
Given that this ticket is 5 years old and is gen2 only can we close it? Was it fixed somewhere else? The lack of stack trace or reproducible example makes it hard for me to tell.
Sure, I think it's fair to go ahead and close this ancient ticket.